關於Oracle中左連接的問題.大家help me.

zhuzhichao 2001-08-22 03:16:50
在Oracle中可以這樣左聯:
select tableA.A1,tableA.A2,tableB.B1,tableB.B2
from tableA,tableB where tableA.A1 = tableB.B1(+)
and tableB.B2(+)='a';

那如果我要在tableB.B2後用in,那左聯該怎麼寫:
select tableA.A1,tableA.A2,tableB.B1,tableB.B2
from tableA,tableB where tableA.A1 = tableB.B1(+)
and tableB.B2 in ('a','b');
...全文
70 点赞 收藏 7
写回复
7 条回复
cod_aas 2001年09月10日
好神奇
回复 点赞
MountLion 2001年08月23日
我的方法得到的结果与KingSunSha(弱水三千) 是不同的,你没有说清楚具体需求。
(我的SQL可以得到TableA的所有行)
回复 点赞
zhuzhichao 2001年08月22日
好!
我為什麼沒有想到
is null
回复 点赞
KingSunSha 2001年08月22日
select tableA.A1,tableA.A2,tableB.B1,tableB.B2
from tableA,tableB
where tableA.A1 = tableB.B1(+)
and (tableB.B2 in ('a','b') or tableB.B2 is null);
回复 点赞
zhuzhichao 2001年08月22日
有沒有其他的方法?
回复 点赞
zhuzhichao 2001年08月22日
to MountLion(人不寐):
你的方法確實可行.

有沒有不用子查詢的方法?
回复 点赞
MountLion 2001年08月22日
使用子查询:
select tableA.A1,tableA.A2,tableB.B1,tableB.B2
from tableA,
(select B1,B2 from tableB where B2 in ('a','b')) tableB
where tableA.A1 = tableB.B1(+)
;
回复 点赞
发动态
发帖子
Sybase
创建于2007-09-28

2408

社区成员

2.5w+

社区内容

Sybase相关技术讨论区
社区公告
暂无公告