MySQL DISTINCT 的疑問

使用LEFT JOIN

-- 方案1 先去重,再聯(lián)結,符合正常思路
SELECT * FROM
(SELECT DISTINCT 用戶ID FROM 用戶購買20110901) A
LEFT JOIN
(SELECT DISTINCT 用戶ID FROM 用戶購買20110902) B
ON A.用戶ID = B.用戶ID;
-- 方案2 先聯(lián)結 再去重,疑問點在于 只能再SELECT添加一個DISTINCT函數(shù)
SELECT DISTINCT A.用戶ID,B.用戶ID
FROM 用戶購買20110901 AS A LEFT JOIN 用戶購買20110902 AS B
ON A.用戶ID = B.用戶ID;
兩則得出的結果是一樣的,但是方案一 更符合正常的思路。

使用RIGHT JOIN

-- 方案1 先去重,再聯(lián)結,符合正常思路
SELECT * FROM
(SELECT DISTINCT 用戶ID FROM 用戶購買20110901) A
RIGHT JOIN
(SELECT DISTINCT 用戶ID FROM 用戶購買20110902) B
ON A.用戶ID = B.用戶ID;
-- 方案2 先聯(lián)結 再去重,疑問點在于 只能再SELECT添加一個DISTINCT函數(shù)
SELECT DISTINCT A.用戶ID,B.用戶ID
FROM 用戶購買20110901 AS A RIGHT JOIN 用戶購買20110902 AS B
ON A.用戶ID = B.用戶ID;
兩則得出的結果是一樣的,但是方案一 更符合正常的思路。

使用INNER JOIN

-- 方案1 先去重,再聯(lián)結,符合正常思路
SELECT * FROM
(SELECT DISTINCT 用戶ID FROM 用戶購買20110901) A
INNER JOIN
(SELECT DISTINCT 用戶ID FROM 用戶購買20110902) B
ON A.用戶ID = B.用戶ID;
-- 方案2 先聯(lián)結 再去重,疑問點在于 只能再SELECT添加一個DISTINCT函數(shù)
SELECT DISTINCT A.用戶ID,B.用戶ID
FROM 用戶購買20110901 AS A INNER JOIN 用戶購買20110902 AS B
ON A.用戶ID = B.用戶ID;
兩則得出的結果是一樣的,但是方案一 更符合正常的思路。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,922評論 0 13
  • 50個常用的sql語句Student(S#,Sname,Sage,Ssex) 學生表Course(C#,Cname...
    哈哈海閱讀 1,334評論 0 7
  • 一、SQL速成 結構查詢語言(SQL)是用于查詢關系數(shù)據(jù)庫的標準語言,它包括若干關鍵字和一致的語法,便于數(shù)據(jù)庫元件...
    shadow雨軒閱讀 587評論 0 3
  • 文:莠子 野心和雄心,其實就是一種東西,自己稱之為雄心,而他人則稱之為野心了。 在左冷禪看來,人生一世,草木一秋,...
    莠子閱讀 710評論 0 2
  • 無法自立,沒有理由,因為愛你, 曾經(jīng)是我,現(xiàn)在是你,無問東西, 燕雀鴻鵠,各有所志,隨你如愿, 我曾一度幻想著浪漫...
    似風年閱讀 476評論 5 10

友情鏈接更多精彩內(nèi)容