SQL查询存在A表但不存在B表的数据
Posted jungle1219
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL查询存在A表但不存在B表的数据相关的知识,希望对你有一定的参考价值。
其中B表的b_id字段引用了A表的id字段。现在有个查询需求:
给出已知的A表中的id,比如:id in (1,2,3),找出这些id在B表中没有与之对应的记录。比如说上面A表中的id=3这条记录,B表中没有b_id与之对应
方式一.利用子查询
SELECT a.id FROM A a WHERE a.id IN (1,2,3) AND NOT EXISTS (SELECT 1 FROM B b WHERE b.b_id = a.id)
方式二.利用left join
select a.id from A a left join B b on a.id = b.b_id where a.id IN (1, 2, 3) and b.id is null
以上是关于SQL查询存在A表但不存在B表的数据的主要内容,如果未能解决你的问题,请参考以下文章