mysql - sql联查,两个表关联,查询一个不在另一个表的记录
本文介绍了mysql - sql联查,两个表关联,查询一个不在另一个表的记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
现在有两张数据表a,b
表a字段(id, title)
表b中的字段(id, aid, uid),aid是表a的外键
查询不在表b中的a记录,不要用not in, 查询条件 uid
a表中的记录
id | title
01 测试1
02 测试2
03 测试3
b表中的记录
id | aid | uid
01 01 01
02 01 02
03 01 03
04 02 01
05 02 03
查询条件: uid=01
解决方案
select a.*
from a left join b on a.id=b.aid and b.uid='01'
where b.id is null
group by a.id
主要在于uid=01这个过滤条件不能放在where里面,不然会把a表的数据过滤掉,而放在on则是先过滤b表数据再去和a表关联
这篇关于mysql - sql联查,两个表关联,查询一个不在另一个表的记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文