如何通過SQL找出2個表里值不同的列的方法
更新時間:2013年05月07日 17:47:34 作者:
本篇文章對如何通過SQL找出2個表里值不同的列的方法進行了詳細的分析介紹,需要的朋友參考下
以下有兩個表,他們的結(jié)構(gòu)完全相同,請通過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:
復(fù)制代碼 代碼如下:
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
復(fù)制代碼 代碼如下:
(SELECT * FROM Student_1
MINUS
SELECT * FROM Student_2)
UNION ALL
(SELECT * FROM Student_2
MINUS
SELECT * FROM Student_1)
方法三 -- HAVING GROUP BY
復(fù)制代碼 代碼如下:
SELECT DISTINCT name, age, score FROM (
SELECT * FROM Student_1
UNION ALL
SELECT * FROM Student_2
)GROUP BY name, age, score HAVING COUNT(*)=1 ;
相關(guān)文章
在SQL中獲取一個長字符串中某個字符串出現(xiàn)次數(shù)的實現(xiàn)方法
以下是對在SQL中獲取一個長字符串中某個字符串出現(xiàn)次數(shù)的實現(xiàn)方法進行了詳細的分析介紹,需要的朋友可以參考下2013-07-07
MySQL InnoDB 鎖的相關(guān)總結(jié)
這篇文章主要介紹了MySQL InnoDB 鎖的相關(guān)知識總結(jié),幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下2021-02-02
mysql 5.7 zip 文件在 windows下的安裝教程詳解
這篇文章主要介紹了mysql 5.7 zip 文件在 windows下的安裝步驟,首先我們需要先下載mysql最新版本然后解壓文件夾,本文介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下2016-09-09
mysql:Can''t start server: can''t create PID file: No space
這篇文章主要介紹了mysql啟動失敗不能正常啟動并報錯Can't start server: can't create PID file: No space left on device問題解決方法,需要的朋友可以參考下2015-05-05

