Nếu bạn so sánh toán tử <> với giá trị NULL thì bạn sẽ nhận được giá trị NULL và không có kết quả.
Hãy để chúng tôi xem một số ví dụ để so sánh -
mysql> select 10 <> NULL; +------------+ | 10 <> NULL | +------------+ | NULL | +------------+ 1 row in set (0.00 sec) mysql> select NULL <> NULL; +--------------+ | NULL <> NULL | +--------------+ | NULL | +--------------+ 1 row in set (0.00 sec) mysql> select 'Chris' <> NULL; +-----------------+ | 'Chris' <> NULL | +-----------------+ | NULL | +-----------------+ 1 row in set (0.00 sec) mysql> select '' <> NULL; +------------+ | '' <> NULL | +------------+ | NULL | +------------+ 1 row in set (0.00 sec)
Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table DemoTable846(Value int); Query OK, 0 rows affected (0.93 sec)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> insert into DemoTable846 values(NULL); Query OK, 1 row affected (0.12 sec) mysql> insert into DemoTable846 values(10); Query OK, 1 row affected (0.11 sec)
Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -
mysql> select *from DemoTable846;
Điều này sẽ tạo ra kết quả sau -
+-------+ | Value | +-------+ | NULL | | 10 | +-------+ 2 rows in set (0.00 sec)
Sau đây là kết quả cho toán tử IS NOT NULL -
mysql> select *from DemoTable846 where Value IS NOT NULL;
Điều này sẽ tạo ra kết quả sau -
+-------+ | Value | +-------+ | 10 | +-------+ 1 row in set (0.00 sec)
Đây là kết quả cho toán tử <>. Sau đây là truy vấn -
mysql> select *from DemoTable846 where Value <> NULL; Empty set (0.00 sec)