#sql
#sql
Вопрос:
Таблица 1
table1
row 1
row 2
row 3
Таблица 2
table2
row 1
Нужен запрос, который показывает только строки таблицы1, которых нет в таблице2
Результат
result
row 2
row 3
Ответ №1:
Операторы SQL set — ваш друг:
SELECT row FROM table1
EXCEPT
SELECT row FROM table2
Или вы можете использовать NOT IN
:
SELECT row
FROM table1
WHERE row NOT IN (SELECT row FROM table)
Предполагается, что в ваших таблицах есть один столбец с именем row
и что столбцы одного типа. Однако вы должны быть в состоянии достаточно легко адаптировать их к вашим реальным таблицам.
Ответ №2:
select table1.col1 from table1
where not exists
(select table2.col1 from table2 where table1.col1 = table2.col1)