如何通過SQL找出2個表里值不同的列的方法_MySQL教程

      編輯Tag賺U幣

      推薦:基于一致性hash算法(consistent hashing)的使用詳解
      本篇文章對一致性hash算法(consistent hashing)的使用進行了詳細的分析介紹。需要的朋友參考下

      以下有兩個表,他們的結構完全相同,請通過SQL找出值不同的列。

      Student_1

      Student_2

      方法一 -- NOT EXISTS:

      復制代碼 代碼如下:www.wf0088.com

      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

      復制代碼 代碼如下:www.wf0088.com

      (SELECT * FROM Student_1
      MINUS
      SELECT * FROM Student_2)
      UNION ALL
      (SELECT * FROM Student_2
      MINUS
      SELECT * FROM Student_1)

      方法三 -- HAVING GROUP BY

      復制代碼 代碼如下:www.wf0088.com

      SELECT DISTINCT name, age, score FROM (
      SELECT * FROM Student_1
      UNION ALL
      SELECT * FROM Student_2
      )GROUP BY name, age, score HAVING COUNT(*)=1 ;

      分享:mysql 將列值轉變為列的方法
      應同學的請求,寫個將列值轉變為列的sql語句,記錄一下。

      來源:模板無憂//所屬分類:MySQL教程/更新時間:2013-05-08
      相關MySQL教程