В чем разница между этим предложением WHERE и этим Join? - PullRequest
0 голосов
/ 08 марта 2012

В чем разница между этим:

SELECT * FROM table1, table2 WHERE table1.primary_id = table2.primary_id

И этим:

SELECT * FROM table1 FULL JOIN table2 ON table1.primary_id = table2.primary_id

Ответы [ 2 ]

4 голосов
/ 08 марта 2012

Первый запрос неявный INNER JOIN, вы всегда должны использовать явный синтаксис.В этом случае запрос вернет записи, которые находятся в таблице1 и в таблице2.Второй запрос вернет все записи обеих таблиц, показывая NULL, если по другой нет совпадений.

0 голосов
/ 08 марта 2012

Ключевое слово FULL JOIN возвращает все строки из table1 и все строки из table2.Если в table1 есть строки, у которых нет совпадений в table2, или в table2 есть строки, у которых нет совпадений в table1, эти строки также будут перечислены, заполненные nulls.

Первый запрос вернет результаты, только если table1 соответствует table2 (primaryId).Это эквивалент INNER JOIN.

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