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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM