日期:2014-05-16  浏览次数:20832 次

一个简单SQL查询
第一张表 A
id title
1 你好啊啊,我是一个兵
2 百度一下你就不知道
3 Goole才是牛B哥哥


第二章表 B
id aid tag
1 1 你好
2 1 兵
3 3 Google

关联 A.id=b.aid


现在要找出A表中有 而B表中没有对应数据的数据
比如 当前数据要找出的是
2 百度一下你就不知道
帮忙写下sql
SELECT a.id,a.title,b.id,b.aid,b.tag FROM A a LEFT JOIN B b ON a.id=b.aid WHERE 1=1 LIMIT 0,10
这样会将a,b中对应的也找出来,我现在不想找已经有的,要找a中有 b中没有对应的数据

------解决方案--------------------
SELECT a.id,a.title,b.id,b.aid,b.tag FROM A a LEFT JOIN B b ON a.id=b.aid WHERE 
b.aid is null LIMIT 0,10
------解决方案--------------------
select * from a where not exists (select 1 from b where aid =a.id)
------解决方案--------------------
select * from a where id not in (select aid from b)