Найти значения, которые не могут присоединиться к SQL - PullRequest
5 голосов
/ 05 октября 2011

Скажем, у меня есть запрос, такой как:

SELECT *
FROM Table_1
JOIN Table_2
ON Table_1.Col_1 = Table_2.Col_1

Итак, у меня есть 100 записей, и 98 из них равны, так что запрос выведет 98 из 100. Как я могу получить SQL для печати2 что не удалось встретить объединение?

Ответы [ 4 ]

8 голосов
/ 05 октября 2011

Используйте LEFT JOIN:

SELECT *
FROM Table_1
LEFT JOIN Table_2 ON (Table_1.Col_1 = Table_2.Col_1)

Поля Table_2 будут НЕДЕЙСТВИТЕЛЬНЫ, если не найдено совпадений для условия ON. После этого вы сможете добавить WHERE TABLE_2.Col_1 IS NULL, чтобы хранить только записи в Table_1, которые не соответствовали Table_2.

7 голосов
/ 05 октября 2011

Альтернативой LEFT JOIN является использование EXISTS.

SELECT * FROM Table_1
WHERE NOT EXISTS (SELECT * FROM Table_2 WHERE Col_1 = Table_1.Col_1)
0 голосов
/ 05 октября 2011
SELECT *
FROM Table1 AS A
LEFT OUTER JOIN Table2 AS B
ON (A.Col = B.Col)
WHERE B.Col IS NULL
0 голосов
/ 05 октября 2011

попробуйте это:

SELECT * FROM `Table_1` LEFT JOIN `Table_2` ON (`Table_1`.`Col_1` = `Table_2`.`Col_1`)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...