create table a(
id int,
name varchar(100)
)
create table b(
id int,
name varchar(100)
)
insert into a(id,name) values(1,'a');
insert into b(id,name) values(1,'a');
insert into b(id,name) values(2,'a');
select a.id from a left join b on a.name=b.name;
当右表出现2条匹配记录时,返回比左表多的数据
可以使用max来解决
select a.* from a left join(
SELECT * FROM b WHERE b.id IN (SELECT MAX(id) FROM b GROUP BY name)
) k on a.name=k.name