您的位置:首页技术文章
文章详情页

mysql - sql联查,两个表关联,查询一个不在另一个表的记录

【字号: 日期:2022-06-15 16:21:20浏览:12作者:猪猪

问题描述

现在有两张数据表a,b

表a字段(id, title)

表b中的字段(id, aid, uid),aid是表a的外键

查询不在表b中的a记录,不要用not in, 查询条件 uid

a表中的记录id | title01 测试102 测试203 测试3b表中的记录id | aid | uid01 01 0102 01 0203 01 0304 02 0105 02 03查询条件: uid=01

问题解答

回答1:

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表关联

回答2:

这好像不科学啊 uid要去b表取 但是却要排除b表的记录是不是有点矛盾啊