saroff
@saroff
Enterprise Java Developer

Есть ли разница между INNER JOIN и простым селектом из двух таблиц?

Предположим у нас есть две таблицы: Т1: ID, Name и T2: Surname, ID. Есть ли принципиальная разница между
SELECT T1.ID, T1.Name, T2.Surname FROM T1, T2 WHERE T1.ID = T2.ID;

и
SELECT * FROM T1 INNER JOIN T2 ON T1.ID=T2.ID;
Я понимаю, что стилистически лучше использовать JOIN, меня интересует вопрос логики работы. Эквивалентны ли эти конструкции друг другу?
  • Вопрос задан
  • 823 просмотра
Решения вопроса 1
@pihel
Sql, Oracle, pl/sql, BI, ETL, php, olap
Это абсолютно одно и тоже. Только "INNER JOIN" - это ansi синтаксис, который рекомендует стандарт.
Лучше писать сразу на ansi, т.к. без него, к примеру, не написать будет FULL OUTER JOIN.

В Oracle иногда рекомендуют не использовать ansi синтаксис, т.к. парсер до 12 версии не всегда его верно переваривал.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sim3x
@sim3x
Смотри EXPLAIN в своей субд
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы