MySQL查询在一个表而不在另一个表中的数据


1、使用not in,容易理解,效率低

select distinct A.ID from A where A.ID not in (select ID from B)

2、使用left join...on... ,B.ID isnull表示左连接之后在B.ID字段为null的记录

select A.ID from A left join B on A.ID=B.ID where B.ID is null

3、逻辑相对复杂,但是速度最快

select * from B where (select count(1) as num from A where A.ID = B.ID) = 0

 

参考:

http://blog.csdn.net/u012732259/article/details/42215119/(以上内容转自此篇文章)


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM