РЕДАКТИРОВАТЬ 9-3-10: Недавно я нашел эту запись в блоге, которая была очень поучительной. http://optimizermagic.blogspot.com/2007/12/outerjoins-in-oracle.html
Бывают случаи, когда один или другой синтаксис соединения может фактически работать лучше. Я также обнаружил, что при выборе синтаксиса соединения Oracle с ANSI-синтаксисом соединения с Oracle наблюдается небольшое увеличение производительности (заметно только в VLDB). Возможно, этого недостаточно, чтобы суетиться, но для тех, кто серьезно относится к освоению БД Oracle, может быть полезно прочитать статью.
Мне известны два синтаксиса внешнего соединения для Oracle:
select a, b
from table1
left outer join table2
on table2.foo = table1.foo
OR
select a, b
from table1, table2
where table2.foo(+) = table1.foo
(при условии, что я правильно понял синтаксис второго примера.)
Есть ли разница в производительности между ними? Сначала я думал, что это просто предпочтение стиля со стороны разработчика, но потом я прочитал что-то, что заставило меня подумать, что, возможно, будет причина использовать один стиль вместо другого.