В каждой компании, над которой я работал, я обнаружил, что люди все еще записывают свои SQL-запросы в стандарте ANSI-89:
select a.id, b.id, b.address_1
from person a, address b
where a.id = b.id
а не стандарт ANSI-92:
select a.id, b.id, b.address_1
from person a
inner join address b
on a.id = b.id
Для чрезвычайно простого запроса, подобного этому, нет большой разницы в читаемости, но для больших запросов я считаю, что наличие критериев объединения, сгруппированных с листингом из таблицы, значительно облегчает просмотр, где у меня могут быть проблемы в моем присоединитесь, и позвольте мне сохранить всю мою фильтрацию в моем предложении WHERE. Не говоря уже о том, что я считаю, что внешние объединения очень интуитивно понятны, чем синтаксис (+) в Oracle.
Как я пытаюсь проповедовать ANSI-92 людям, есть ли какие-либо конкретные преимущества в использовании ANSI-92 по ANSI-89? Я бы попробовал это самостоятельно, но настройки Oracle, которые мы здесь, не позволяют использовать EXPLAIN PLAN - не хотели бы, чтобы люди пытались оптимизировать свой код, не было бы?