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