Giá trị NULL trong SQL




Giá trị NULL trong SQL là khái niệm được sử dụng để biểu diễn một giá trị bị khuyết thiếu. Một giá trị NULL trong một bảng là một giá trị trong một trường và bị bỏ trống.

Một trường với một giá trị NULL là một trường không có giá trị nào. Nó là thực sự quan trọng để hiểu rằng một giá trị NULL là khác một giá trị 0 (zero value) hoặc một trường mà chứa các dấu cách.

Cú pháp

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

SQL> CREATE TABLE SINHVIEN(
   ID   INT              NOT NULL,
   TEN VARCHAR (20)     NOT NULL,
   TUOI  INT              NOT NULL,
   KHOAHOC  CHAR (25) ,
   HOCPHI   DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);

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

Một trường với một giá trị NULL là đã bị bỏ trống trong khi tạo bản ghi.

Ví dụ

Giá trị NULL có thể tạo các vấn đề trong khi chọn lựa dữ liệu, tuy nhiên, bởi vì khi so sánh với một giá trị không biết với bất kỳ giá trị nào khác, kết quả là luôn luôn chưa biết trước và không được bao trong các kết quả cuối cùng.

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 SINHVIEN có các bản ghi sau:

+----+---------+-----+-----------+--------+
| ID |  TEN    | TUOI|  KHOAHOC  | HOCPHI |
+----+---------+-----+-----------+---------+
|  1 | Hoang   |  21 | CNTT      | 4       |
|  2 | Viet    |  19 | DTVT      | 3     |
|  3 | Thanh   |  18 | KTDN      |  4      |
|  4 | Nhan    |  19 | CK        |      |
|  5 | Huong   |  20 | TCNH      |        |
+----+---------+-----+-----------+---------+

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

SQL> SELECT  ID, TEN, TUOI, KHOAHOC, HOCPHI
     FROM SINHVIEN
     WHERE HOCPHI IS NOT NULL;

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

+----+---------+-----+-----------+--------+
| ID |  TEN    | TUOI|  KHOAHOC  | HOCPHI |
+----+---------+-----+-----------+---------+
|  1 | Hoang   |  21 | CNTT      | 4       |
|  2 | Viet    |  19 | DTVT      | 3     |
|  3 | Thanh   |  18 | KTDN      |  4      |
+----+----------+-----+-----------+----------+

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

SQL> SELECT  ID, TEN, TUOI, KHOAHOC, HOCPHI
     FROM SINHVIEN
     WHERE HOCPHI IS NULL;

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

+----+----------+-----+-----------+----------+
| ID |  TEN    | TUOI|  KHOAHOC  | HOCPHI |
+----+----------+-----+-----------+----------+
|  4 | Nhan    |  19 | CK        |      |
|  5 | Huong   |  20 | TCNH      |        |
+----+----------+-----+-----------+----------+