深入Oracle的left join中on和where的区别详解

如题所述

select a.*,B.* form A a left join B b on a.seq =b.seq and b.del_code ='A' 和 select a.*,B.* from A a left join B b on a.seq =b.seq where b.del_code ='A' 两个SQL语句是有区别的,第一个SQL,如果B表中没有符合条件的数据,因为是LEFT JOIN,所以查询的结果相当于是select a.* form A a,第二个SQL,条件在where中,如果B表中没有符合条件的数据,查询的结果就是为空。LFET join也就失去了意义。
温馨提示:答案为网友推荐,仅供参考