码迷,mamicode.com
首页 > 数据库 > 详细

SQL查询存在A表但不存在B表的数据

时间:2020-05-13 09:18:02      阅读:528      评论:0      收藏:0      [点我收藏+]

标签:记录   exist   exists   ima   info   sele   code   png   利用   

 

技术图片

其中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表的数据

标签:记录   exist   exists   ima   info   sele   code   png   利用   

原文地址:https://www.cnblogs.com/Jungle1219/p/12880276.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!