手机
当前位置:查字典教程网 >编程开发 >mysql数据库 >如何通过SQL找出2个表里值不同的列的方法
如何通过SQL找出2个表里值不同的列的方法
摘要:以下有两个表,他们的结构完全相同,请通过SQL找出值不同的列。Student_1NAMEAGESCOREpeter26100jack2596...

以下有两个表,他们的结构完全相同,请通过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 ;

【如何通过SQL找出2个表里值不同的列的方法】相关文章:

mysql删除重复记录语句的方法

让MySQL支持中文排序的实现方法

使用Rotate Master实现MySQL 多主复制的实现方法

MySQL数据库中拷贝数据表的方法

如何修改WAMP中mysql默认空密码的方法

MySQL服务器默认安装之后调节性能的方法

MySQL服务器进程CPU占用100%的解决方法

MySQL里实现类似SPLIT的分割字符串的函数

mysql免安装版的实际配置方法

SQL 2005 清空日志的方法

精品推荐
分类导航