MySQL - Operator NOT EQUAL
Chào mừng các bạn yêu thích cơ sở dữ liệu! Hôm nay, chúng ta sẽ cùng khám phá thế giới thú vị của MySQL và tìm hiểu một trong những phép toán vô cùng hữu ích: phép toán NOT EQUAL. Là người thầy thân thiện trong lĩnh vực máy tính, tôi sẽ hướng dẫn các bạn qua hành trình này với rất nhiều ví dụ và giải thích. Vậy hãy chuẩn bị đồ uống yêu thích của bạn, ngồi thoải mái, và cùng nhau bắt đầu cuộc phiêu lưu học tập này nhé!
MySQL NOT EQUAL Operator
Hãy bắt đầu từ những điều cơ bản. Trong MySQL, phép toán NOT EQUAL được sử dụng để so sánh hai giá trị và kiểm tra xem chúng có khác nhau hay không. Nó giống như hỏi, "Nè, hai thứ này có khác nhau không?" Nếu chúng khác nhau, MySQL sẽ nói, "Đúng vậy, chúng không bằng nhau!"
Có ba cách để biểu diễn phép toán NOT EQUAL trong MySQL:
Phép toán | Mô tả |
---|---|
<> | Không bằng nhau |
!= | Không bằng nhau |
NOT ... = | Không bằng nhau |
Hãy cùng xem một số ví dụ để thấy cách chúng hoạt động trong thực tế.
SELECT * FROM students WHERE age <> 18;
SELECT * FROM books WHERE price != 9.99;
SELECT * FROM employees WHERE NOT department = 'Sales';
Trong ví dụ đầu tiên, chúng ta đang chọn tất cả học sinh có độ tuổi không phải 18. Ví dụ thứ hai lấy ra sách có giá không phải $9.99. Ví dụ thứ ba tìm nhân viên không làm việc trong phòng Sales.
NOT EQUAL với Giá trị Chuỗi
Khi làm việc với văn bản (hoặc chuỗi, như chúng ta gọi chúng trong lập trình), phép toán NOT EQUAL vô cùng hữu ích. Giả sử chúng ta có một bảng các loại quả, và chúng ta muốn tìm tất cả các loại quả không phải táo.
SELECT * FROM fruits WHERE name <> 'apple';
Truy vấn này sẽ trả về tất cả các loại quả ngoại trừ táo. Tuy nhiên, nó phân biệt chữ hoa và chữ thường, vì vậy 'Apple' sẽ được coi là khác với 'apple'. Nếu bạn muốn bỏ qua chữ hoa và chữ thường, bạn có thể sử dụng hàm LOWER():
SELECT * FROM fruits WHERE LOWER(name) <> 'apple';
Bây giờ, cả 'Apple', 'APPLE', hoặc 'aPpLe' đều sẽ bị loại bỏ khỏi kết quả.
NOT EQUAL với Câu lệnh GROUP BY
Phép toán NOT EQUAL có thể là một công cụ mạnh mẽ khi kết hợp với câu lệnh GROUP BY. Giả sử chúng ta có một bảng doanh số, và chúng ta muốn xem tổng doanh số cho mỗi sản phẩm, ngoại trừ một sản phẩm cụ thể.
SELECT product, SUM(amount) as total_sales
FROM sales
WHERE product <> 'Widget X'
GROUP BY product;
Truy vấn này tính tổng doanh số cho mỗi sản phẩm, nhưng loại trừ 'Widget X' khỏi kết quả. Giống như nói, "Hiển thị doanh số cho tất cả ngoại trừ Widget X."
NOT EQUAL với Nhiều Điều kiện
Đôi khi, chúng ta cần sử dụng phép toán NOT EQUAL với nhiều điều kiện. Giả sử chúng ta có một bảng nhân viên, và chúng ta muốn tìm tất cả nhân viên không làm việc trong phòng Sales hoặc Marketing.
SELECT * FROM employees
WHERE department <> 'Sales'
AND department <> 'Marketing';
Truy vấn này sẽ trả về tất cả nhân viên làm việc trong các phòng ban khác ngoài Sales và Marketing. Giống như có một bảo vệ câu lạc bộ được bảo, "Để mọi người vào ngoại trừ những người mặc áo đỏ hoặc mũ xanh."
phủ nhận Điều kiện bằng NOT EQUAL
Phép toán NOT EQUAL cũng hữu ích cho việc phủ nhận điều kiện. Ví dụ, giả sử chúng ta có một bảng sản phẩm, và chúng ta muốn tìm tất cả sản phẩm không phải hết hàng.
SELECT * FROM products
WHERE NOT (stock = 0);
Điều này tương đương với:
SELECT * FROM products
WHERE stock <> 0;
Cả hai truy vấn đều sẽ trả về các sản phẩm có sẵn hàng. Giống như hỏi, "Hiển thị tất cả các sản phẩm chúng ta có thể bán!"
NOT EQUAL Operator Sử dụng với Chương trình Khách
Bây giờ, hãy áp dụng tất cả kiến thức này vào thực tế bằng cách sử dụng một chương trình khách MySQL. Giả sử chúng ta có một cơ sở dữ liệu phim, và chúng ta muốn tìm tất cả các phim không phải là hài và được phát hành sau năm 2000.
Trước hết, hãy tạo bảng và chèn một số dữ liệu:
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);
Bây giờ, hãy sử dụng phép toán NOT EQUAL để tìm các phim chúng ta muốn:
SELECT * FROM movies
WHERE genre <> 'Comedy'
AND release_year > 2000;
Truy vấn này sẽ trả về:
+----+----------------+--------+--------------+
| id | title | genre | release_year |
+----+----------------+--------+--------------+
| 3 | The Dark Knight| Action | 2008 |
| 4 | Inception | Sci-Fi | 2010 |
+----+----------------+--------+--------------+
Và thế là xong! Chúng ta đã sử dụng phép toán NOT EQUAL thành công để tìm chính xác những gì chúng ta cần.
Tóm lại, phép toán NOT EQUAL là một công cụ mạnh mẽ trong bộ công cụ MySQL của bạn. Nó cho phép bạn loại bỏ dữ liệu cụ thể khỏi kết quả, giúp bạn xác định chính xác những gì bạn đang tìm kiếm trong cơ sở dữ liệu. Hãy tiếp tục thực hành với các ví dụ này, và sớm bạn sẽ sử dụng phép toán NOT EQUAL như một chuyên gia. Chúc các bạn thành công, những pháp sư cơ sở dữ liệu tương lai!
Credits: Image by storyset