源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

如何通过SQL找出2个表里值不同的列的方法

  • 时间:2020-05-16 10:22 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:如何通过SQL找出2个表里值不同的列的方法
以下有两个表,他们的结构完全相同,请通过SQL找出值不同的列。 [b]Student_1[/b]
NAME AGE SCORE
peter 26 100
jack 25 96
daniel 26 48
bark 21 69
    [b]Student_2[/b]
NAME AGE SCORE
peter 26 89
jack 25 96
daniel 26 48
bark 21 69
  [b]方法一 -- NOT EXISTS: [/b]
[u]复制代码[/u] 代码如下:
SELECT * FROM Student_1 S1 WHERE NOT EXISTS   (SELECT *   FROM Student_2 S2   WHERE S1.name = S2.name   AND S1.age    = S2.age   AND S1.score  = S2.score   ) UNION ALL SELECT * FROM STUDENT_2 S2 WHERE NOT EXISTS   (SELECT *   FROM STUDENT_1 S1   WHERE S1.name = S2.name   AND S1.age    = S2.age   AND S1.score  = S2.score   );
[b]方法二 -- MINUS [/b]
[u]复制代码[/u] 代码如下:
(SELECT * FROM Student_1 MINUS SELECT * FROM Student_2) UNION ALL (SELECT * FROM Student_2 MINUS SELECT * FROM Student_1)
[b]方法三 -- HAVING GROUP BY [/b]
[u]复制代码[/u] 代码如下:
SELECT DISTINCT name, age, score FROM ( SELECT * FROM Student_1 UNION ALL SELECT * FROM Student_2 )GROUP BY name, age, score HAVING COUNT(*)=1 ;
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部