同一个SQL两种不同表达方式


各位大牛,小弟今天遇着一个问题,个人认为他们表达的意思是一样的,但是查询出的结果却不一样!希望大牛们不吝赐教:

现在有A B C 三个表,查询语句如下:
SQL语句一:
select aid
from A left join B on (A.aid = B.aid and B.cid
     in (select id from C where citem ='Y'))
where aid = 'XXXXXXXXXXXXXXXXX'
group by aid;

SQL语句二:
select aid
from A,B
where (A.aid = B.aid(+)
  and B.cid in (select id from C where citem ='Y')
  )
aid = 'XXXXXXXXXXXXXXXXX'
group by aid;

小弟才疏学浅,能否帮忙分析下这两个SQL语句有什么不同?

猜你喜欢

转载自haosam.iteye.com/blog/1328979