SQL - DISTINCT 語句:揭開獨特數據的力量

歡迎,有志於學習SQL的熱心同學!今天,我們將踏上一段令人興奮的旅程,進入SQL的世界,特別專注於DISTINCT關鍵字。作為你們親切友善的電腦老師,我在這裡用清晰的解釋、大量的範例和一點幽默,來指導你們理解這個概念。所以,請系好安全帶,讓我們一起潛入水中!

SQL - Distinct Clause

SQL DISTINCT 語句:你的獨特性之門

想像一下你在派對上,你想知道有多少種不同的飲料。你不會分開計數每一罐可口可樂,對吧?这正是SQL中DISTINCT關鍵字的作用——它幫助我們在數據集中識別唯一值。

DISTINCT關鍵字在SELECT語句中使用,從結果集中移除重複的值。這就像有一個神奇的過濾器,只會展示每一項中的一個,無論它在你的數據中出現了多少次。

讓我們從一個簡單的範例開始:

SELECT DISTINCT column_name
FROM table_name;

這個查詢將返回指定列中的唯一值。相當酷吧?

在單列上使用DISTINCT關鍵字:獨一無二

舉例來說,我們有一個名為employees的表,其中有一個列department。如果要看見所有不重複的部門,我們會使用:

SELECT DISTINCT department
FROM employees;

這個查詢可能會返回如下結果:

department
----------
Sales
Marketing
IT
HR
Finance

即使銷售部有100名員工,它在我們的結果中只會出現一次。這就像在問,“我們有哪些不同的部門?”而不是“每個部門有多少人工作?”

在多列上使用DISTINCT關鍵字:獨特組合

現在,讓我們升級遊戲!DISTINCT也可以在多列上發揮它的魔法。當你在多列上使用DISTINCT時,它會尋找那些列中的唯一組合值。

考慮以下查詢:

SELECT DISTINCT department, job_title
FROM employees;

這可能會給我們:

department | job_title
-----------+-----------
Sales      | Manager
Sales      | Associate
Marketing  | Coordinator
Marketing  | Director
IT         | Developer
IT         | Analyst

在這裡,我們看到的是部門和職位標題的唯一組合。如果我們有多个銷售經理,他們只會在這個列表中出現一次。

与COUNT()函数一起使用DISTINCT關鍵字:計算獨特性

這裡的事情變得非常有趣!我們可以將DISTINCT與COUNT()函数結合使用,以計算唯一值。這就像在問,“我們有多少種不同的冰淇淋?”而不是“總共有多少勺冰淇淋?”

讓我們看看它是如何工作的:

SELECT COUNT(DISTINCT department) AS unique_departments
FROM employees;

這個查詢將返回我們公司中的獨特部門數量。如果我們有在銷售、市場營銷、IT、HR和財務部門的員工,結果會是:

unique_departments
------------------
5

DISTINCT關鍵字與NULL值:令人好奇的無值情況

現在,讓我們來談論一件經常讓SQL新手感到困惑的事情:DISTINCT如何處理NULL值。在SQL中,NULL代表值的缺失,DISTINCT將NULL視為唯一值。

考慮以下範例:

SELECT DISTINCT manager_id
FROM employees;

如果有些員工沒有經理(他們的manager_id是NULL),結果可能會如下:

manager_id
----------
1
2
3
NULL

NULL只出現一次,就像任何其他唯一值一樣。

DISTINCT方法:你的獨特性工具箱

讓我們總結一下我們可以以不同方式使用DISTINCT的方法:

方法 語法 描述
單列 SELECT DISTINCT column FROM table; 從單列返回唯一值
多列 SELECT DISTINCT column1, column2 FROM table; 從多列返回唯一組合的值
与COUNT() SELECT COUNT(DISTINCT column) FROM table; 計算列中的唯一值數量
与NULL值 SELECT DISTINCT column FROM table; 將NULL視為唯一值

記住,當你想要關注數據中的多樣性而不是它的數量時,DISTINCT是你的朋友。這就像擁有一種超能力,讓你能夠穿透雜亂並關注數據中的獨特之處。

在我們結束這個課程時,我希望你能對在SQL查詢中使用DISTINCT關鍵字更有信心。它是一個簡單但強大的工具,可以幫助你從數據中獲得寶貴的洞察。

下次你與數據庫一起工作時,想想DISTINCT,把它當作你的個人數據整理器。它在那裡幫助你穿透噪音,關注數據中真正重要的部分。

持續練習,保持好奇心,並記住:在SQL的世界裡,保持獨特總是時尚的!

Credits: Image by storyset