Java教程

SQL查询两个表相同的两个字段里不同的数据有哪些

本文主要是介绍SQL查询两个表相同的两个字段里不同的数据有哪些,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

https://zhidao.baidu.com/question/243124782.html

展开全部

select * from A

inner join B on A.Name = B.Name and A.ID = B.ID

where A.Name = '张三' and A.ID = '008'

内连接即可

或者:

1、除重

select distinct A.ID AS AID,A.Name AS AName,B.ID AS BID,B.Name AS BName from A inner join B on(A.Name=B.Name and A.ID=B.ID)

2、除重

select A.ID AS AID,A.Name AS AName,B.ID AS BID,B.Name AS BName from A inner join B on(A.Name=B.Name and A.ID=B.ID)

扩展资料:

SQL的其他查询

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断

select * from peoplewhere peopleId in (select peopleId from people group by peopleId 

having count(peopleId) > 1)

2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录

delete from peoplewhere peopleId in (select peopleId from people group by peopleId   

having count(peopleId) > 1)and rowid not in (select min(rowid) from people group by 

peopleId having count(peopleId )>1)

3、查找表中多余的重复记录(多个字段)

select * from vitae awhere (a.peopleId,a.seq) in (select peopleId,seq from vitae group by 

peopleId,seq having count(*) > 1)

4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录

delete from vitae awhere (a.peopleId,a.seq) in (select peopleId,seq from vitae group by 

peopleId,seq having count(*) > 1)and rowid not in (select min(rowid) from vitae group by 

peopleId,seq having count(*)>1)

5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录

select * from vitae awhere (a.peopleId,a.seq) in (select peopleId,seq from vitae group by 

peopleId,seq having count(*) > 1)and rowid not in (select min(rowid) from vitae group by 

peopleId,seq having count(*)>1)

这篇关于SQL查询两个表相同的两个字段里不同的数据有哪些的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!