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)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM