Giá trị NULL trong SQL

NULL trong SQL là thuật ngữ được sử dụng để biểu diễn một giá trị bị khuyết thiếu. Giá trị NULL trong một bảng là giá trị trong một trường bị bỏ trống. Trường có giá trị NULL là trường không có giá trị nào.

Lưu ý: Trường chứa giá trị NULL khác với trường có giá trị bằng 0 (zero value) và trường chứa khoảng trống (space).

Cú pháp

Cú pháp cơ bản của NULL trong khi tạo bảng là:

SQL> CREATE TABLE NHANVIEN(  ID INT NOT NULL,  TEN VARCHAR (20) NOT NULL,  TUOI INT NOT NULL,  DIACHI CHAR (25) ,  LUONG DECIMAL (18, 2),   PRIMARY KEY (ID) );

Ở đây, NOT NULL biểu thị rằng cột luôn phải chấp nhận một giá trị nhất định của kiểu dữ liệu đã cho. Có hai cột không sử dụng NOT NULL, nghĩa là những cột này có thể là NULL.

Trường có giá trị NULL là trường bị bỏ trống trong quá trình tạo bản ghi.

Ví dụ về giá trị NULL

Giá trị NULL có thể gây ra một vài vấn đề trong khi chọn lựa dữ liệu, vì khi so sánh một giá trị không xác định với bất kỳ giá trị nào khác, kết quả luôn luôn là ẩn số không có kết quả.

Bạn phải sử dụng các toán tử IS NULL hoặc IS NOT NULL để kiểm tra một giá trị NULL.

Xét bảng NHANVIEN có các bản ghi sau:

 +----+----------+-----+-----------+----------+
 | ID | TEN      |TUOI | DIACHI    | LUONG    |
 +----+----------+-----+-----------+----------+
 |  1 | Thanh    |  32 | Haiphong  |  2000.00 |
 |  2 | Loan     |  25 | Hanoi     |  1500.00 |
 |  3 | Nga      |  23 | Hanam     |  2000.00 |
 |  4 | Manh     |  25 | Hue       |  6500.00 |
 |  5 | Huy      |  27 | Hatinh    |  8500.00 |
 |  6 | Cao      |  22 | HCM       |          |
 |  7 | Lam      |  24 | Hanoi     |          |
 +----+----------+-----+-----------+----------+

Sau đây là cách sử dụng của toán tử IS NOT NULL trong SQL:

SQL> SELECT ID, TEN, TUOI, DIACHI, LUONG  FROM NHANVIEN  WHERE LUONG IS NOT NULL;

Kết quả trả về là:

 +----+----------+-----+-----------+----------+
 | ID | TEN      |TUOI | DIACHI    | LUONG    |
 +----+----------+-----+-----------+----------+
 |  1 | Thanh    |  32 | Haiphong  |  2000.00 |
 |  2 | Loan     |  25 | Hanoi     |  1500.00 |
 |  3 | Nga      |  23 | Hanam     |  2000.00 |
 |  4 | Manh     |  25 | Hue       |  6500.00 |
 |  5 | Huy      |  27 | Hatinh    |  8500.00 |
 +----+----------+-----+-----------+----------+

Và cách sử dụng của toán tử IS NULL trong SQL như sau:

SQL> SELECT ID, TEN, TUOI, DIACHI, LUONG  FROM NHANVIEN  WHERE LUONG IS NULL;

Ví dụ trên sẽ trả về kết quả:

 +----+----------+-----+-----------+----------+
 | ID | TEN      |TUOI | DIACHI    | LUONG    |
 +----+----------+-----+-----------+----------+
 |  6 | Cao      |  22 | HCM       |          |
 |  7 | Lam      |  24 | Hanoi     |          |
 +----+----------+-----+-----------+----------+