Thông tin liên hệ
- 036.686.3943
- admin@nguoicodonvn2008.info
NULL trong SQL được sử dụng khá phổ biến. Nếu bạn chưa biết giá trị null là gì trong SQL, mời bạn tham khảo bài viết dưới đây.
SQL là ngôn ngữ truy vấn có cấu trúc, rất phổ biến trong thế giới lập trình. Học SQL không khó. Bạn có thể tham khảo các bài học kiến thức cơ bản về SQL trên Quantrimang. Ở bài viết này, chúng ta sẽ cùng nhau tìm hiểu về giá trị NULL trong SQL nhé!
SQL có một số bản ghi trong bảng không có giá trị hay dữ liệu cho mỗi trường và những trường này được gọi là giá trị NULL.
Giá trị NULL có thể xuất hiện bởi ở thời điểm nhập dữ liệu, thông tin chưa có sẵn. Vì thế, SQL hỗ trợ một giá trị đặc biệt gọi là NULL, được dùng để đại diện cho các giá trị thuộc tính chưa xác định hay không áp dụng cho một bộ dữ liệu. SQL đặt giá trị NULL trong trường chưa có giá trị do người dùng xác định.
Điều quan trọng cần phải ghi nhớ rằng bạn không thể dùng các toán tử so sánh như “=”, “<”, hoặc “>” với giá trị NULL. Đó là do giá trị NULL chưa được biết đến và có thể đại diện cho giá trị bất kỳ. Thay vào đó, bạn phải dùng toán tử “IS NULL” hoặc “IS NOT NULL” để kiểm tra xem liệu một giá trị có phải là NULL.
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ơ 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.
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 | | +----+----------+-----+-----------+----------+
Xóa các bản ghi chứa giá trị NULL từ một bảng bằng lệnh DELETE FROM. Đầu tiên kiểm tra xem bảng có chứa giá trị NULL bằng toán tử IS NULL trong mệnh đề WHERE và xóa các bản ghi được lọc.
Ví dụ:
Xem xét bảng CUSTOMERS dưới đây và xóa giá trị NULL nằm trong bảng bằng lệnh DELETE như bên dưới:
| ID | NAME | AGE | ADDRESS | SALARY |
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | Kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
| 6 | Komal | 22 | Hyderabad | 9000.00 |
| 7 | Muffy | 24 | Indore | 9000.00 |
DELETE FROM CUSTOMERS WHERE SALARY IS NULL;
Kết quả:
Khi thực hiện truy vấn trên, kết quả bạn nhận được như sau:
Query OK, 2 rows affected (0.01 sec)
Xác minh
Giờ xác minh xem việc xóa bản ghi được lọc đã thành công hay chưa bằng cách hiện bảng bằng lệnh SELECT.
SELECT * FROM CUSTOMERS;
Bảng sẽ hiện như sau:
| ID | NAME | AGE | ADDRESS | SALARY |
| 1 | Ramesh | 32 | Ahmedabad | 2000.00 |
| 2 | Khilan | 25 | Delhi | 1500.00 |
| 3 | Kaushik | 23 | Kota | 2000.00 |
| 4 | Chaitali | 25 | Mumbai | 6500.00 |
| 5 | Hardik | 27 | Bhopal | 8500.00 |
Ở bài tiếp theo, Quantrimang sẽ cùng bạn thảo luận cách tạo tên tạm thời bằng ALIAS trong SQL. Các bạn nhớ theo dõi nhé!
Nguồn tin: Quantrimang.com
Ý kiến bạn đọc
Những tin mới hơn
Những tin cũ hơn
Sự khác biệt giữa Zapier MCP, Zapier SDK và Zapier CLI
12 cài đặt Claude Code bạn nên kích hoạt ngay bây giờ
TOP trợ lý AI sắp xếp lịch tốt nhất
8 framework Agentic AI đáng chú ý nhất năm 2026 mà lập trình viên AI nên biết
Prompt tạo giấy mời họp phụ huynh đầu năm
Prompt biến poster phim thành tranh vẽ chì màu ngộ nghĩnh
Tạo một agent trong Microsoft Copilot Studio
Hướng dẫn tạo video tranh cát cho bài thơ, câu chuyện
Prompt ChatGPT theo vai trò giải quyết mọi công việc
TOP nền tảng tích hợp API tốt nhất năm 2026
Cách khắc phục lỗi công thức Excel bằng Claude AI
Prompt tạo infographic truyện tranh từ kiến thức bài học
Prompt chụp ảnh sản phẩm phong cách studio tối giản
TOP công cụ AI cho Microsoft Teams tốt nhất
Sự khác biệt giữa OpenClaw và Zapier
Cách tắt và ẩn Meta AI trên Facebook, Instagram, Messenger và WhatsApp
Tìm hiểu về AI by Zapier: Dễ dàng thêm các AI step vào workflow của bạn
Mẹo tùy chỉnh ChatGPT phản biện thông minh hơn
Prompt tạo ảnh chân dung trong ô tô dưới trời mưa cực điện ảnh
TOP công cụ AI cho Microsoft Outlook tốt nhất