Computer >> Máy Tính >  >> Lập trình >> MySQL

Cú pháp MySQL không đánh giá với toán tử không bằng với sự hiện diện của null?

Sử dụng toán tử IS NOT NULL để so sánh với các giá trị NULL. Cú pháp như sau -

SELECT *FROM yourTableName where yourColumnName1 is not null or yourColumnName2 <> anyIntegerValue;

Để kiểm tra giá trị không bằng với sự hiện diện của null, chúng ta hãy tạo một bảng. Truy vấn để tạo bảng như sau -

mysql> create table IsNullDemo
   −> (
   −> ProductId int,
   −> ProductName varchar(100),  
   −> ProductBackOrder int
   −> );
Query OK, 0 rows affected (0.54 sec)

Chèn một số bản ghi trong bảng với giá trị null để tránh sự hiện diện của null. Truy vấn để chèn bản ghi như sau -

mysql> insert into IsNullDemo values(100,'First-Product',null);
Query OK, 1 row affected (0.14 sec)

mysql> insert into IsNullDemo values(101,'Second-Product',2);
Query OK, 1 row affected (0.22 sec)

mysql> insert into IsNullDemo values(102,'Third-Product',null);
Query OK, 1 row affected (0.20 sec)

mysql> insert into IsNullDemo values(103,'Fourth-Product',4);
Query OK, 1 row affected (0.17 sec)

mysql> insert into IsNullDemo values(104,'Fifth-Product',10);
Query OK, 1 row affected (0.17 sec)

mysql> insert into IsNullDemo values(105,'Sixth-Product',null);
Query OK, 1 row affected (0.20 sec)

Hiển thị tất cả các bản ghi từ bảng bằng cách sử dụng câu lệnh select. Truy vấn để hiển thị tất cả các bản ghi như sau -

mysql> select *from IsNullDemo;

Sau đây là kết quả -

+-----------+----------------+------------------+
| ProductId | ProductName    | ProductBackOrder |
+-----------+----------------+------------------+
| 100       | First-Product  |             NULL |
| 101       | Second-Product |                2 |
| 102       | Third-Product  |             NULL |
| 103       | Fourth-Product |                4 |
| 104       | Fifth-Product  |               10 |
| 105       | Sixth-Product  |             NULL |
+-----------+----------------+------------------+
6 rows in set (0.00 sec)

Trường hợp 1:

Đây là truy vấn để tránh sự hiện diện của null. Truy vấn như sau -

mysql> select *from IsNullDemo
   −> where ProductBackOrder is not null or ProductBackOrder <> 2;

Sau đây là kết quả -

+-----------+----------------+------------------+
| ProductId | ProductName    | ProductBackOrder |
+-----------+----------------+------------------+
|       101 | Second-Product |                2 |
|       103 | Fourth-Product |                4 |
|       104 | Fifth-Product  |               10 |
+-----------+----------------+------------------+
3 rows in set (0.03 sec)

Trường hợp 2:

Bất cứ khi nào bạn muốn sự hiện diện của null (hoặc không bằng 2), hãy sử dụng khái niệm IS NULL. Truy vấn như sau -

mysql> select *from IsNullDemo
   −> where ProductBackOrder is null or ProductBackOrder <> 2;

Sau đây là kết quả -

+-----------+----------------+------------------+
| ProductId | ProductName    | ProductBackOrder |
+-----------+----------------+------------------+
|       100 | First-Product  |             NULL |
|       102 | Third-Product  |             NULL |
|       103 | Fourth-Product |                4 |
|       104 | Fifth-Product  |               10 |
|       105 | Sixth-Product  |             NULL |
+-----------+----------------+------------------+
5 rows in set (0.00 sec)