Какова необходимость «присоединиться» в MySQL - PullRequest
0 голосов
/ 01 марта 2011

Мы можем объединить 2 таблицы с помощью оператора select, чем использовать оператор 'join' при объединении 2 таблиц в mysql. Есть ли разница в использовании обоих ???

Ответы [ 2 ]

1 голос
/ 01 марта 2011

В теории , да ; на практике , нет.В стандарте SQL-92 говорится, что в предложении FROM запись с инфиксным соединением выполняется в порядке слева направо.Но оптимизатор может перестроить запрос, если результаты совпадают.

Это не имеет значения для ВНУТРЕННИХ СОЕДИНЕНИЙ ,, но жизненно важно для ВНЕШНИХ СОЕДИНЕНИЙ.

Есть хорошая история об этом предложении.Нам нужен был синтаксис OUTER JOIN ; запатентованные методы в Oracle , SQL Server , Sybase , Informix , и т. Д.Но после того, как мы определили ВНЕШНЕЕ СОЕДИНЕНИЕ, было легко распространить документ на ВНУТРЕННЕЕ СОЕДИНЕНИЕ, СОЮЗ, СОЕДИНЕНИЕ, ЕСТЕСТВЕННОЕ СОЕДИНЕНИЕ, и т. Д. (Большинство из которых никто не реализует).

.product может иметь опцию принудительного исполнения с вставленной нотацией.Поскольку в продуктах SQL теперь есть какой-то оптимизатор, он не очень полезен.

Реальное различие заключается в мышлении программистов.Те, которые пишут с инфиксированной нотацией, представляют собой линейные последовательности соединений, как если бы они были ограничены простыми бинарными тета-операторами.Программисты, которые используют более старую нотацию, будут использовать BETWEEN , IN () и другие предикаты, которые работают с несколькими терминами.

http://htc -hd2-android.blogspot.com / 2011/03 / разница между-явно-join-and.html

0 голосов
/ 01 марта 2011

Оператор JOIN является более чистым и более читаемым, он также допускает гибкость позже, если вам нужно внести изменения в код, и JOIN можно заменить на INNER JOIN, OUTER JOIN, LEFT JOIN или RIGHT JOIN в зависимости от тип данных, которые вы хотите получить обратно.

Мне всегда говорили, что я никогда не присоединяюсь к таблице 2 с помощью предложения WHERE.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...