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/(以上内容转自此篇文章)

posted @ 2017-10-22 14:00  EasonJim  阅读(8793)  评论(1编辑  收藏  举报