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.

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

Tuy nhiên, bạn cần hiểu những giá trị NULL này là gì và ý nghĩa của chúng để có được thông tin chi tiết về dữ liệu chính xác và toàn 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.

 

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 đó, các toán tử so sánh truyền thống  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(.

Hãy coi giá trị NULL như một trường được để 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. Để làm đ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;
 
 

Giá trị SQL NULL hữu ích trong những trường hợp nào?

Giá trị NULL có thể được sử dụng trong nhiều tình huống khác nhau trong SQL:

  • Khi dữ liệu không có sẵn hoặc không xác định tại thời điểm nhập dữ liệu.
  • Khi dữ liệu không áp dụng cho thực thể được đề 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 có thể có một số giá trị NULL.

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

Lệnh SQL IS NULL là một trong những lệnh SQL quan trọng mọi lập trình viên nên biết. Nó được sử dụng để kiểm tra các giá trị NULL và hữu ích nhất khi tìm kiếm các giá trị NULL. 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.

 

Đ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ị không 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.

Cách đế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 con SQL và bảng tạm thời.

Sử dụng truy vấn này để đếm số lượng 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ề: 

 

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

Sử dụng lệnh NOT NULL để đếm số giá trị 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ẽ trở lại:

Bạn cũng có thể sử dụng truy vấn này để đưa kết quả vào 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, các lệnh CASE và IS NULL đã đượ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.

Đế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 mã SQL. 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 ở đâ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)        
Chat Button
Chat với FUNiX GPT ×

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

error: Content is protected !!