Cách đếm các giá trị SQL NULL và NOT NULL trong một cột

Cách đếm các giá trị SQL NULL và NOT NULL trong một cột

Chia sẻ kiến thức 04/09/2023

Xử lý các giá trị NULL là điều cần thiết trong quá trình phân tích dữ liệu. Cùng FUNiX tìm hiểu cách đếm các giá trị trống và không trống trong một cột.

Việc làm với các giá trị NULL trong SQL là một công thức mà mọi nhà phân tích dữ liệu và cơ sở dữ liệu chuyên nghiệp đều phải đối mặt. Điều này là vì công việc xử lý NULL có thể tạo cho bạn hương thơm và khó hiểu.

Tuy nhiên, bạn cần hiểu những giá trị này NULL là gì và ý nghĩa của chúng để có thể được thông tin chi tiết về dữ liệu chính xác và giao diện. Bài viết này sẽ khám phá cách sử dụng các lệnh SQL để đếm các giá trị NULL và NOT NULL.

1. Giá trị NULL là gì?

Giá trị NULL có nghĩa là không có giá trị, không phải số 0 hoặc khoảng trắng.

Do đó, hệ thống so sánh toán tử như =, <, > và <> không thể được sử dụng với nó. Tuy nhiên, nếu được sử dụng, kết quả sẽ là UNKNOWN (không xác định (.

Vui lòng coi giá trị NULL là một trường để trống trong quá trình tạo bản ghi. Bạn có thể tạo bảng và chèn cột mới mà không cần thêm giá trị. Do đó, trường đó sẽ có giá trị NULL. Giá trị NULL cũng có thể được chèn vào các cột thuộc bất kỳ loại dữ liệu nào.

Để chứng minh điều này, bạn nên tạo một bảng SQL mới bằng cú pháp bên dưới:

CREATE TABLE Employee (

 FirstName VARCHAR(50),

 LastName VARCHAR(50),

 PhoneNum VARCHAR(15),

 Salary FLOAT

);



INSERT INTO Employee (FirstName, LastName, PhoneNum, Salary)

VALUES 

 ('Maxwell', 'Ayomide', '812-345-6789', 150000.00),

 ('David', 'Tosin', NULL, 450000.00),

 ('Eben', 'Teniola', '912-345-6789', 590000.00),

 ('Kenneth', 'Olisa', '809-456-8732', NULL),

 ('Esther', 'Oge', NULL, NULL);
 

Bạn cũng có thể cập nhật các giá trị NULL trong một bảng bằng cách sử dụng lệnh UPDATE. Để thực hiện điều này, hãy sử dụng cú pháp dưới đây.

UPDATE Employee
SET FirstName = 'Esther'
WHERE Salary = 200000;

Để xem kết quả, hãy chạy:

SELECT * FROM Employee;
 
 

2. SQL giá trị NULL hữu ích trong những trường hợp này?

Giá trị NULL có thể được sử dụng trong nhiều vấn đề khác trong SQL:

  • Khi dữ liệu không có sẵn hoặc không được xác định tại thời điểm dữ liệu đầu vào.
  • Khi dữ liệu không được áp dụng, bạn có thể thực hiện truy cập. Ví dụ: trong một cuộc khảo sát, một câu hỏi yêu cầu người tham gia đánh dấu vào ô xem họ có con hay không thể có một số giá trị NULL.

3. Điều kiện SQL IS NULL là gì?

Lệnh SQL IS NULL là một trong những lệnh SQL mà mọi thành viên cài đặt đều biết. Nó được sử dụng để kiểm tra NULL giá trị và hữu ích nhất khi tìm kiếm NULL giá trị. Lệnh này sẽ trả về tất cả các hàng NULL trong cột được chỉ định trong truy vấn của bạn.

SELECT FirstName, LastName, PhoneNum

FROM Employee

WHERE PhoneNum IS NULL;

Truy vấn này sẽ trả về tất cả các giá trị NULL trong cột  PhoneNum .

 

4. Điều kiện SQL IS NOT NULL là gì?

Lệnh SQL IS NOT NULL ngược lại với lệnh SQL IS NULL.

Lệnh này kiểm tra các giá trị trống (KHÔNG phải giá trị NULL). Do đó, nó sẽ luôn trả về tất cả các hàng trong một cột có giá trị và loại trừ tất cả các giá trị NULL trong cột được chỉ định trong truy vấn của bạn.

SELECT FirstName, LastName, PhoneNum

FROM Employee

WHERE PhoneNum IS NOT NULL;

Truy vấn này sẽ trả về tất cả các giá trị NOT NULL trong cột  PhoneNum .

5. Đếm các giá trị SQL NULL trong một cột?

Lệnh  COUNT()  được sử dụng để đếm. Đó là một lệnh hữu ích khi phân tích dữ liệu trong các bảng SQL của bạn và  làm việc với các truy vấn SQL  và bảng tạm thời.

Sử dụng truy vấn này để đếm số giá trị NULL trong cột  PhoneNum .

SELECT COUNT(*) AS [Total Number of NULL] 

FROM Employee

WHERE PhoneNum IS NULL

Điều này sẽ trả về: 

 

6. Đếm các giá trị NOT NULL trong một cột

Sử dụng lệnh NOT NULL để đếm giá trị số không phải NULL trong cột  PhoneNum .

SELECT COUNT(PhoneNum) AS [Total Number of Non-NULL Values] 

FROM Employee

WHERE PhoneNum IS NOT NULL

Điều này sẽ quay trở lại:

Bạn cũng có thể sử dụng câu hỏi này để đưa ra kết quả trên một bảng.

SELECT SUM(CASE WHEN PhoneNum is null THEN 1 ELSE 0 END) 

AS [Number Of Null Values],

COUNT(PhoneNum) AS [Number Of Non-Null Values]

FROM Employee

Trong truy vấn này, CASE và IS NULL lệnh đã được sử dụng để phân loại NULL của bạn trong cột  PhoneNum  là 1. Giá trị này đã được thêm và giữ trong các cột  Number Of Null Values  ​​​​mới được tạo.

7. Đếm các giá trị NULL và tiếp tục phân tích dữ liệu của bạn

Sử dụng COUNT(), bạn có thể đếm các giá trị NULL và NOT NULL chỉ bằng một vài dòng SQL mã hóa. Sau khi biết các lệnh SQL của mình, bạn có thể áp dụng chúng cho nhiều trường hợp sử dụng khác nhau và phân tích dữ liệu của mình một cách dễ dàng.

Tìm hiểu ngay chương trình học công nghệ thông tin trực tuyến tại FUNiX tại đây:

Vân Nguyễn

Dịch từ: https://www.makeuseof.com/count-sql-null-not-null-in-column/

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        

yêu cầu gọi lại