• 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)

  • 相关阅读:
    搞定 Linux Shell 文本处理工具,看完这篇还不够~
    ARM 版的Clang的使用
    GDB入门学习之gef插件的使用
    mac使用apktool
    python实现md5
    fridahookjava
    js hook array对象的push方法
    app逆向java转python代码
    python合并两个有序数组
    MySQL update 语句加锁分析
  • 原文地址:https://www.cnblogs.com/sunny3158/p/14719454.html
Copyright © 2020-2023  润新知