Giá trị NULL trong SQL

Giá trị NULL là dữ liệu không đầy đủ hoặc không biết.

Mặc định, các cột trong bảng có thể lưu trữ giá trị NULL.

Chương này giải thích các toán tử IS NULL và IS NOT NULL.

Giá trị NULL trong SQL

Nếu một cột trong bảng là tùy chọn, chúng ta có thể chèn mới hoặc cập nhật bản ghi hiện có mà không cần thêm giá trị vào cột đó. Điều này có nghĩa là trường này sẽ được lưu trữ với giá trị NULL.

Cách xử lý giá trị NULL khác với các giá trị khác.

NULL được sử dụng làm bộ đệm cho giá trị không biết hoặc không áp dụng.

Ghi chú:Chúng ta không thể so sánh NULL với 0; chúng không bằng nhau.

Xử lý giá trị NULL trong SQL

Xin xem bảng "Persons" dưới đây:

ID Tên cuối Tên đầu Địa chỉ Thành phố
1 Adams John   London
2 Bush George Fifth Avenue New York
3 Carter Thomas   Beijing

Giả sử cột "Địa chỉ" trong bảng "Persons" là tùy chọn. Điều này có nghĩa là nếu chèn một bản ghi không có giá trị trong cột "Địa chỉ", cột "Địa chỉ" sẽ sử dụng giá trị NULL để lưu trữ.

Vậy chúng ta làm thế nào để kiểm tra giá trị NULL?

Chúng ta không thể sử dụng toán tử so sánh để kiểm tra giá trị NULL, ví dụ =, <, hoặc <>.

Chúng ta phải sử dụng toán tử IS NULL và IS NOT NULL.

IS NULL trong SQL

Chúng ta làm thế nào để chỉ chọn các bản ghi có giá trị NULL trong cột "Địa chỉ"?

Chúng ta phải sử dụng toán tử IS NULL:

SELECT Tên cuối, Tên đầu, Địa chỉ FROM Persons
WHERE Địa chỉ IS NULL

Kết quả tập hợp:

Tên cuối Tên đầu Địa chỉ
Adams John  
Carter Thomas  

Lưu ý:Hãy luôn sử dụng IS NULL để tìm giá trị NULL.

IS NOT NULL trong SQL

Chúng ta làm thế nào để chọn các bản ghi không có giá trị NULL trong cột "Địa chỉ"?

Chúng ta phải sử dụng toán tử IS NOT NULL:

SELECT Tên cuối, Tên đầu, Địa chỉ FROM Persons
WHERE Địa chỉ IS NOT NULL

Kết quả tập hợp:

Tên cuối Tên đầu Địa chỉ
Bush George Fifth Avenue

Trong phần tiếp theo, chúng ta sẽ tìm hiểu về các hàm ISNULL(), NVL(), IFNULL() và COALESCE().