是否存在两个查询产生不同结果的条件?
select * from a,b,c where a.id = b.id(+) and a.id=c.id(+);
select * from a,b,c where a.id = b.id(+) or a.id=c.id(+);
我认为在这两种情况下,如果id在表a中,它将返回该行。
答案 0 :(得分:1)
第二个选择失败,ORA-01719,外部连接运算符(+)不允许在OR或IN的操作数中。
使用ANSI JOIN语法的另一个原因。如果你这样做,你甚至无法想到这个问题。