таблицу 1:У меня есть две таблицы только выяснить несоответствие ID
id
1
2
3
5
6
Таблица 2:
id
2
3
7
Я хочу только несовпадение id
из таблицы 1, как мой результат должен быть 1,5,6
.
Пожалуйста, помогите, пожалуйста, заранее.
таблицу 1:У меня есть две таблицы только выяснить несоответствие ID
id
1
2
3
5
6
Таблица 2:
id
2
3
7
Я хочу только несовпадение id
из таблицы 1, как мой результат должен быть 1,5,6
.
Пожалуйста, помогите, пожалуйста, заранее.
Попробуйте это:
SELECT * FROM table1 WHERE id NOT IN (SELECT id FROM table2)
запрос должен быть 'NOT IN' и ** not **' NOT id IN' –
Из-за соглашения? Он также работает с NOT id IN ... – Plasher
Я не пробовал это в любое время раньше. Лично я чувствую, что читаемость запроса уменьшается. –
Вы можете использовать NOT IN
select id from table1 where id not in (select id from table2)
Это должно работать на MySQL:
SELECT id FROM table1 LEFT JOIN table2 ON table1.id = table2.id WHERE NOT ISNULL(table2.id)
На MSSQL вы можете использовать «table2.id IS NOT NULL "вместо" NOT ISNULL (table2.id) "конструкция
SELECT ID1
FROM TABLE_1
WHERE ID1 NOT IN(SELECT ID2 FROM TABLE_2);
Вам нужно просто использовать предложение NOT IN
в состоянии WHERE
, который будет возвращать вам уникальные идентификаторы соответствия в TABLE_1
вы должны использовать только 'НЕ в' подзапрос. Пожалуйста, см. Мой ответ и спросите, нужно ли ему больше разъяснений. –
Рекомендуется не использовать NOT EXISTS вместо NOT IN, так как NOT EXISTS «null safe». – jarlh