Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Cách tìm Bản ghi với NULL trong một cột

Vấn đề:

Bạn muốn tìm các bản ghi có NULL trong một cột.

Ví dụ:

Cơ sở dữ liệu của chúng tôi có một bảng có tên children với dữ liệu trong bốn cột:id , first_name , middle_namelast_name .

id first_name middle_name last_name
1 John Carl Jackson
2 Tom NULL Thomson
3 Lisa Alice KHÔNG ĐẦY ĐỦ
4 Anne NULL Smith

Hãy tìm id, họ và tên của những đứa trẻ không có tên đệm (NULL trong cột middle_name ). Chúng tôi sử dụng toán tử IS NULL cho việc này.

Giải pháp:

SELECT id,
  first_name,
  last_name
FROM children
WHERE middle_name IS NULL;

Đây là kết quả:

id first_name last_name
2 Tom Thomson
4 Anne Smith

Điều này chỉ trả về các bản ghi có NULL trong middle_name , vì vậy Tom và Anne có mặt, nhưng John và Lisa không có tên đệm.

Thảo luận:

Sử dụng IS NULL trong một điều kiện với WHERE để tìm các bản ghi có NULL trong một cột. Tất nhiên, bạn cũng có thể sử dụng bất kỳ biểu thức nào thay vì tên của một cột và kiểm tra xem nó có trả về NULL hay không. Không cần gì nhiều hơn tên của một cột và toán tử IS NULL là cần thiết (trong ví dụ của chúng tôi, middle_name IS NULL ). Đặt điều kiện này trong mệnh đề WHERE để lọc các hàng (trong ví dụ của chúng tôi, WHERE middle_name IS NULL ). Nếu điều kiện là đúng, cột lưu trữ NULL và hàng này được trả về. Ở trên, truy vấn chỉ trả về hai bản ghi có con là Tom và Anne, không có tên đệm, vì vậy cột middle_name cửa hàng NULL.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Thủ tục được lưu trữ chuyên dụng để có được trạng thái sao lưu cơ sở dữ liệu mới nhất

  2. Tổng quan về chức năng CheckDB của DBCC

  3. Cách so sánh hai hàng từ cùng một bảng

  4. Cách viết một truy vấn với nhiều hành vi

  5. Cách theo dõi những gì người dùng làm