いいえ、結果セットが異なる条件はありません。
しかし、あなたの仮定は「a.id = b.id(+)
意味がありません」は100%正しくありません。あります 結合を定義するため、意味があります。そうでない場合、これはaとbのすべての行を含むaとbのデカルト積になります。name='XYZ'。
効果がないのは(+)
です 、ステートメントが「意味的に」間違っているため。 idで外部結合するのではなく、nameで結合するのは意味がありません。
通常、そのようなものが必要です:
select * from a,b where a.id =b.id(+) and b.name(+) = 'XYZ';
http://www.sqlfiddle.com/#!4/d19b4/の短い例15