手机
当前位置:查字典教程网 >编程开发 >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只监听某个特定地址

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

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

mysql数据库导出xml的实现方法

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

VPS下修改MySQL root用户密码的方法

MySQL 数据库简单查询的方法

SQL 2005 清空日志的方法

MySQL Cluster如何创建磁盘表方法解读

如何保护MySQL中重要数据的方法

精品推荐
分类导航