SQL - 不等於: 開始者的全面指南

嘿,未來的 SQL 巔峰大師!準備好進入數據庫操作的神奇世界了嗎?今天,我們將探索你 SQL 工具包中最有用的工具之一:不等於運算符。相信我,在這個教學結束時,你將能像專業人士一樣熟練使用這個運算符!

SQL - NOT EQUAL

SQL 不等於運算符

讓我們從基礎開始。在 SQL 中,不等於運算符用於比較兩個值,如果它們不相同則返回 true。這就像在問:“嘿,這兩件事有差別嗎?”如果有的話,SQL 會給你一個讚。

實際上,在 SQL 中有三种方式來寫不等於運算符:

運算符 說明
<> 不等於
!= 不等於
NOT column_name = 不等於

讓我們看看這三種方式是如何操作的:

SELECT * FROM employees WHERE salary <> 50000;
SELECT * FROM employees WHERE salary != 50000;
SELECT * FROM employees WHERE NOT salary = 50000;

這三個查詢都會返回相同的結果:所有薪水不等於 50,000 的員工列表。酷炫吧?

真實世界的例子

想像你正在管理一家寵物店數據庫。你想找到所有不是狗的寵物。下面是如何操作的:

SELECT * FROM pets WHERE animal_type <> 'dog';

這個查詢會從 'pets' 表中提取所有 'animal_type' 不等於 'dog' 的行。所以你會看到貓、鳥、魚,甚至可能還有一些稀有的生物!

不等於與文本數據

當處理文本數據時,不等於運算是區分大小寫的。這意味著 'Dog' 和 'dog' 被認為是不同的。讓我們看看這是如何操作的:

SELECT * FROM pets WHERE animal_type <> 'Dog';

這個查詢可能會返回 'animal_type' 是 'dog'(小寫)的行,因為 'Dog'(大寫)不等於 'dog'(小寫)。

專業提示

要使文本比較不區分大小寫,你可以使用 UPPER() 或 LOWER() 函數:

SELECT * FROM pets WHERE LOWER(animal_type) <> 'dog';

現在,這個查詢將排除所有狗,無論 'dog' 在你的數據庫中是如何大寫的。

不等於與 GROUP BY 子句

不等於運算符也可以與 GROUP BY 子句一起使用。這在你想聚合數據同時排除某些群組時特別有用。

舉例來說,如果你想計算每種類型的寵物數量,但你不對狗感興趣:

SELECT animal_type, COUNT(*) as pet_count
FROM pets
WHERE animal_type <> 'dog'
GROUP BY animal_type;

這個查詢會給你除了狗以外的所有寵物類型的計數。這就像組織一個“除了狗以外的所有人”派對!

不等於與多個條件

你可以將不等於運算符與 AND 和 OR 一起使用,以創造更複雜的查詢。

例如,讓我們找到所有不是狗且年齡超過 5 歲的寵物:

SELECT * FROM pets
WHERE animal_type <> 'dog' AND age > 5;

或者也許你想找到所有不是狗或年齡超過 10 歲的寵物:

SELECT * FROM pets
WHERE animal_type <> 'dog' OR age > 10;

使用不等於否定條件

有時,表達你不想要什麼比表達你想要什麼更容易。不等於運算符在這種情況下非常適合。

例如,而不是列出你想要的所有寵物類型,你可以排除你不想要的:

SELECT * FROM pets
WHERE animal_type <> 'dog'
AND animal_type <> 'cat'
AND animal_type <> 'fish';

這個查詢會返回除了狗、貓和魚以外的所有寵物。這就像說:“給我所有的異國寵物!”

有趣的比喻

把不等於運算符想像成俱樂部的保鏢。你告訴他:“不要讓任何狗進來!”保鏢(不等於)站在門口,檢查每個 'animal_type',只讓非狗進入。

總結

現在,各位,你已經學會了 SQL 不等於運算符的來龍去脈。從基本比較到複雜查詢,你现在有力量告訴你的數據庫你確實不想要什麼。

記住,精通 SQL 的關鍵在於練習。所以,馬上打開你的 SQL 環境,開始玩轉這些查詢。改變條件,嘗試不同的數據類型,看看你會得到什麼結果。

在你意識到之前,你將會像專業人士一樣使用不等於運算符,快速過濾不需要的數據,比貓追逐激光指針還要快!

快樂查詢,願你的數據總是乾淨,你的查詢總是迅捷!

Credits: Image by storyset