По сути, разница между ними заключается в том, что один написан по-старому, а другой написан по-современному. Лично я предпочитаю современный сценарий, использующий внутренние, левые, внешние, правые определения, потому что они более понятны и делают код более читабельным.
При работе с внутренними объединениями нет никакой реальной разницы в удобочитаемости, однако это может усложниться при работе с левым и правым объединениями, поскольку в более старом методе вы получите что-то вроде этого:
SELECT *
FROM table a, table b
WHERE a.id = b.id (+);
Выше приведен старый способ написания левого соединения, в отличие от следующего:
SELECT *
FROM table a
LEFT JOIN table b ON a.id = b.id;
Как вы можете видеть, современный способ написания скрипта делает запрос более читабельным. (Кстати, то же самое касается правильных объединений и немного сложнее для внешних объединений).
Возвращаясь к основной теме, для компилятора SQL не имеет значения, как написан запрос, поскольку он обрабатывает их одинаково. Я видел смесь обоих в базах данных Oracle, в которые записывалось много людей, как старших, так и младших. Опять же, все сводится к тому, насколько читаем сценарий и команда, с которой вы работаете.