Это на самом деле правда. Первый запрос соответствует стандарту SQL-89, а второй - SQL-92.
Стандарт SQL-92 ввел INNER JOIN .. ON
и OUTER JOIN .. ON
, чтобы заменить более сложный (?) Синтаксис SQL-89.
Внешнее объединение в SQL-89 будет:
SELECT ...
FROM t1, t2
WHERE t1.id *= t2.id
где в SQL-92 это будет
FROM t1 OUTER JOIN t2 ON t1.id = t2.id
Я долгое время предпочитал SQL-89 вместо SQL-92, но думаю, что совместимость с SQL Server 2008 убрала поддержку синтаксиса соединения SQL-89.