sql如何查询两个表不重复的记录

2024-11-26 14:47:32
推荐回答(5个)
回答1:

sql 查询不重复的记录 可以使用 having count group by 组合

先把不重复数据的id查询出来 通过count()计算 只有数目为1的才是不重复的数据
然后通过in选择出不重复记录的数据
例子:
统计出a表中name不重复的所有记录
select b.* from table b where b.id in(select a.id from table a group by a.name having count(a.id) <2)
//其中 name重复的数据的列名

回答2:

select a.name,a.sex,a.birthdate,b.name
from tableA a left join tableB b
on a.name = b.name
where b.name is null --这句就是确保A表有但B表没有

回答3:

select a.* from tableA a where a.name not in (select b.name from where tableB b);
用子查询 简单 实用,不信你试试。

回答4:

我来回答吧:
select * from tableA where name not in (select name from tableB)

回答5:

在oracle下最简单的方法是
select * from tableA
minus
select * from tableB