Большинство диалектов SQL допускают следующие запросы:
SELECT a.foo, b.foo
FROM a, b
WHERE a.x = b.x
SELECT a.foo, b.foo
FROM a
LEFT JOIN b ON a.x = b.x
Теперь, когда вам нужно внешнее соединение, требуется второй синтаксис. Но когда вы делаете внутреннее соединение, почему я должен предпочесть второй синтаксис первой (или наоборот)?