SQL查询以查找ID不在另一个表中的记录?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (76)

我在数据库中有两个具有绑定主键的表,我希望在它们之间找到一个不相交的集合。例如,

  • Table1列(ID, Name)和抽样数据:(1 ,John), (2, Peter), (3, Mary)
  • Table2列(ID, Address)和抽样数据:(1, address2), (2, address2)

那么,如何创建SQL查询在table1而不是在table2中的ID?

提问于
用户回答回答于

SELECT ID, Name 
FROM   Table1 
WHERE  ID NOT IN (SELECT ID FROM Table2)
用户回答回答于

使用LEFT JOIN

SELECT  a.*
FROM    table1 a
            LEFT JOIN table2 b
                on a.ID = b.ID
WHERE   b.id IS NULL

扫码关注云+社区