加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2021-11-29 16:21:05 所属栏目:PHP教程 来源:互联网
导读:以下有两个表,他们的结构完全相同,请通过SQL找出值不同的列。 Student_1 NAME AGE SCORE peter 26 100 jack 25 96 daniel 26 48 bark 21 69 Student_2 NAME AGE SCORE peter 26 89 jack 25 96 daniel 26 48 bark 21 69 方法一 -- NOT EXISTS: 复制代码 代

以下有两个表,他们的结构完全相同,请通过SQL找出值不同的列。   Student_1   NAME AGE SCORE   peter 26 100   jack 25 96   daniel 26 48   bark 21 69   Student_2   NAME AGE SCORE   peter 26 89   jack 25 96   daniel 26 48   bark 21 69   方法一 -- NOT EXISTS:     复制代码 代码如下:     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 );   方法二 -- MINUS   复制代码 代码如下:     (SELECT * FROM Student_1 MINUS SELECT * FROM Student_2) UNION ALL (SELECT * FROM Student_2 MINUS SELECT * FROM Student_1)     方法三 -- HAVING GROUP BY   复制代码 代码如下:     SELECT DISTINCT name, age, score FROM ( SELECT * FROM Student_1 UNION ALL SELECT * FROM Student_2 )GROUP BY name, age, score HAVING COUNT(*)=1 ;

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读