MySQL - 不等於運算子

歡迎,有志於數據庫的熱情者!今天,我們將深入MySQL的精彩世界,並探索其最有用的運算符之一:不等於運算符。作為你們親切的鄰居計算機老師,我將帶領你們一起踏上這次學習冒險,並提供大量的範例和解釋。所以,拿起你們最喜歡的飲料,放鬆身心,讓我們一起開始這次學習之旅!

MySQL - NOT EQUAL Operator

MySQL 不等於運算符

讓我們從基礎開始。在MySQL中,不等於運算符用於比較兩個值,並檢查它們是否不相等。這就像在問:“嘿,這兩件事有差別嗎?”如果它們不相等,MySQL會說:“是的,它們不等於!”

在MySQL中表達不等於運算符有三种方式:

運算符 描述
<> 不等於
!= 不等於
NOT ... = 不等於

讓我們看一些範例,了解它們在實際中是如何工作的。

SELECT * FROM students WHERE age <> 18;
SELECT * FROM books WHERE price != 9.99;
SELECT * FROM employees WHERE NOT department = 'Sales';

在第一個範例中,我們選擇年齡不是18歲的所有學生。第二個範例查找價格不是$9.99的書籍。第三個範例查找不在銷售部門工作的員工。

不等於運算符與字符串值

當我們處理文本(或者我們在編程中稱之為字符串)時,不等於運算符非常有用。讓我們假設我們有一個水果表,我們想找到所有不是蘋果的水果。

SELECT * FROM fruits WHERE name <> 'apple';

這個查詢將返回除了蘋果以外的所有水果。這是區分大小寫的,所以'Apple'會被認為與'apple'不同。如果你想要忽視大小寫,可以使用LOWER()函數:

SELECT * FROM fruits WHERE LOWER(name) <> 'apple';

現在,即使是'Apple'、'APPLE'或'aPpLe'也會從結果中排除。

不等於運算符與GROUP BY子句

當不等於運算符與GROUP BY子句結合使用時,它可以是一個強大的工具。讓我們假設我們有一個銷售表,我們想查看每個產品的總銷售額,但排除一個特定的產品。

SELECT product, SUM(amount) as total_sales
FROM sales
WHERE product <> 'Widget X'
GROUP BY product;

這個查詢計算每個產品的總銷售額,但從結果中排除了'Widget X'。就像在說:“除了Widget X以外的銷售。”

不等於運算符與多個條件

有時候,我們需要將不等於運算符與多個條件一起使用。讓我們假設我們有一個員工表,我們想找到所有不在銷售部門也不在市場部門的員工。

SELECT * FROM employees
WHERE department <> 'Sales'
AND department <> 'Marketing';

這個查詢將返回所有不在銷售部和市場部的員工。就像在俱樂部的門衛被告知:“讓除了穿紅衣服或藍帽子的人以外的所有人進來。”

使用不等於運算符否定條件

不等於運算符還可以用於否定條件。例如,讓我們假設我們有一個產品表,我們想找到所有不缺貨的產品。

SELECT * FROM products
WHERE NOT (stock = 0);

這等於於:

SELECT * FROM products
WHERE stock <> 0;

兩個查詢都會返回有庫存的產品。就像在問:“展示我們可以真正出售的所有產品!”

使用客戶端程序使用不等於運算符

現在我們將把所有這些知識用於實踐,使用MySQL客戶端程序。想像我們有一個電影數據庫,我們想找到所有不是喜劇並在2000年後上映的電影。

首先,讓我們創建我們的表並插入一些數據:

CREATE TABLE movies (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(100),
genre VARCHAR(50),
release_year INT
);

INSERT INTO movies (title, genre, release_year) VALUES
('The Matrix', 'Sci-Fi', 1999),
('Shrek', 'Comedy', 2001),
('The Dark Knight', 'Action', 2008),
('Inception', 'Sci-Fi', 2010),
('The Hangover', 'Comedy', 2009);

現在,讓我們使用我們的不等於運算符來找到我們想要的電影:

SELECT * FROM movies
WHERE genre <> 'Comedy'
AND release_year > 2000;

這個查詢將返回:

+----+----------------+--------+--------------+
| id | title          | genre  | release_year |
+----+----------------+--------+--------------+
|  3 | The Dark Knight| Action | 2008         |
|  4 | Inception      | Sci-Fi | 2010         |
+----+----------------+--------+--------------+

這就是你所需要的!我們成功地使用不等於運算符找到了我們想要的东西。

總結來說,不等於運算符是你MySQL工具包中的一個強大工具。它允許你從結果中排除特定數據,幫助你精確地找到數據庫中你想要的信息。記住,在數據庫世界中,知道你不想要什麼與知道你想要什麼一樣重要!

繼續使用這些範例練習,很快你將能夠像專業人士一樣使用不等於運算符。祝願你們這些未來的數據庫魔法師快樂查詢!

Credits: Image by storyset