如何在两张相似表中使用Anti Join获取仅存在于表A的数据
获取仅存在于tableA中的数据
以下是几种可行的SQL实现方案:
方法1:使用NOT EXISTS子查询
SELECT ID FROM tableA WHERE NOT EXISTS ( SELECT 1 FROM tableB WHERE tableB.ID = tableA.ID );
方法2:使用LEFT JOIN结合IS NULL
SELECT tableA.ID FROM tableA LEFT JOIN tableB ON tableA.ID = tableB.ID WHERE tableB.ID IS NULL;
方法3:使用NOT IN(注意:若tableB的ID字段存在NULL值,此方法会返回空结果)
SELECT ID FROM tableA WHERE ID NOT IN ( SELECT ID FROM tableB );
预期执行结果
ID 001
内容的提问来源于stack exchange,提问作者Conner
相关产品推荐
相关产品推荐

