Tags:

Ý nghĩa của NULL trong SQL

Trong SQL, NULL là một thuật ngữ dùng để biểu thị một giá trị còn thiếu. Giá trị NULL trong bảng là giá trị của một trường bị bỏ trống, không được cung cấp tại thời điểm Insert hay Update.

Trường có giá trị NULL là trường không có giá trị. Điều rất quan trọng, bạn phải hiểu rằng giá trị NULL khác với giá trị 0 hoặc một trường có chứa khoảng trắng.

Cú pháp

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

SQL> CREATE TABLE CUSTOMERS(
   ID   INT              NOT NULL,
   NAME VARCHAR (20)     NOT NULL,
   AGE  INT              NOT NULL,
   ADDRESS  CHAR (25) ,
   SALARY   DECIMAL (18, 2),       
   PRIMARY KEY (ID)
);
Ở đây, NOT NULL biểu thị rằng cột phải luôn luôn phải chứa giá trị trong các dòng đang và sẽ  tồn tại trong database. Có hai cột mà chúng ta đã không sử dụng NOT NULL, có nghĩa là các cột này có thể là NULL.

Ví dụ

Giá trị NULL có thể gây ra các kết quả sai trong các câu truy vấn nếu không được kiểm tra kỹ. Vì khi so sánh một giá trị chưa biết với bất kỳ giá trị nào khác, kết quả luôn là ẩn số và không được đưa vào kết quả. Bạn phải sử dụng toán tử IS NULL hoặc IS NOT NULL để kiểm tra giá trị NULL.

Giả sử chúng ta có bảng CUSTOMERS

+----+----------+-----+-----------+----------+
| 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 | MP        |          |
|  7 | Muffy    |  24 | Indore    |          |
+----+----------+-----+-----------+----------+

Bây giờ, sau đây là cách sử dụng IS NOT NULL, lấy tất cả các CUSTOMERS có SALARY khác NULL.

SQL> SELECT  ID, NAME, AGE, ADDRESS, SALARY
   FROM CUSTOMERS
   WHERE SALARY IS NOT NULL;
+----+----------+-----+-----------+----------+
| 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 |

Cách sử dụng IS NULL để lấy các CUSTOMERS có SALARY NULL.

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  6 | Komal    |  22 | MP        |          |
|  7 | Muffy    |  24 | Indore    |          |
+----+----------+-----+-----------+----------+

Nguồn tham khảo

https://www.tutorialspoint.com/sql/sql-null-values.htm

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x