Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Ý nghĩa của toán tử <> trong truy vấn MySQL


Toán tử <> trong MySQL nghĩa là "không bằng", tương đương với !=. Trả về 1 (TRUE) nếu hai giá trị khác nhau, 0 (FALSE) nếu bằng nhau. Đây là chuẩn ANSI SQL.

Ví dụ cơ bản

mysql> SELECT 3 <> 5;  -- Kết quả: 1 (TRUE)
mysql> SELECT 3 != 5;  -- Kết quả: 1 (TRUE)
mysql> SELECT 5 <> 5;  -- Kết quả: 0 (FALSE)

Áp dụng trên bảng dữ liệu

mysql> CREATE TABLE NotEqualOperator (
  StudentId INT,
  StudentName VARCHAR(100),
  StudentSection VARCHAR(10)
);
Query OK, 0 rows affected (0.78 sec)

mysql> INSERT INTO NotEqualOperator VALUES
(1,'John','A'), (2,'Carol','B'), (3,'Sam','A'),
(4,'Mike','B'), (5,'Bob','B'), (6,'David','B'), (7,'Ramit','A');
Query OK, 7 rows affected

Lọc học sinh không ở lớp A:

mysql> SELECT * FROM NotEqualOperator WHERE StudentSection <> 'A';

Kết quả:

+-----------+-------------+----------------+
| StudentId | StudentName | StudentSection |
+-----------+-------------+----------------+
| 2         | Carol       | B              |
| 4         | Mike        | B              |
| 5         | Bob         | B              |
| 6         | David       | B              |
+-----------+-------------+----------------+

Lưu ý về NULL

NULL <> 'A' trả về UNKNOWN, không phải TRUE. Dòng có StudentSection IS NULL sẽ không xuất hiện.

-- Muốn bao gồm NULL:
WHERE StudentSection <> 'A' OR StudentSection IS NULL

Tóm tắt

  • <> = chuẩn ANSI SQL, khuyến nghị dùng.
  • != = mở rộng MySQL, chức năng y hệt.
  • Cả hai trả về kiểu BOOLEAN (hiển thị là TINYINT 1/0).
  • Cẩn thận với NULL.