如果两个表相关并且一个表可能缺少行,那么如何查找这些记录?
例如我有两个表:table1(主键“id”,table2(外键“id”) 我想要实现的是获取所有记录,其中table1记录在table2中没有对应物(缺少行)。
答案 0 :(得分:1)
您可以使用NOT EXISTS
:
SELECT *
FROM table1 AS t1
WHERE NOT EXISTS (SELECT 1
FROM table2 AS t2
WHERE t2.id = t1.id)
答案 1 :(得分:0)
EXCEPT
/ EXCEPT ALL
:
select id from table1
except all
select id from table2