Vấn đề:
Bạn muốn tìm các bản ghi không 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 tên là product
với dữ liệu trong ba cột:id
, name
và price
.
id | tên | giá |
---|---|---|
1 | bơ | NULL |
2 | sữa | 2,35 |
3 | bánh mì | 3,25 |
4 | pho mát | NULL |
Hãy tìm tên và giá của các sản phẩm có giá (không có NULL). Thực hiện việc này bằng cách sử dụng toán tử IS NOT NULL.
Giải pháp:
SELECT name, price FROM product WHERE price IS NOT NULL;
Đây là kết quả của truy vấn:
name | giá |
---|---|
sữa | 2,35 |
bánh mì | 3,25 |
Điều này chỉ trả về các bản ghi không có NULL trong cột, vì vậy chỉ có tên và giá của sữa và bánh mì. Bơ và pho mát không có giá (cột price
là NULL) nên bạn không nhìn thấy chúng.
Thảo luận:
Để hiển thị các bản ghi không có NULL trong một cột, hãy sử dụng toán tử IS NOT NULL. Bạn chỉ cần tên của cột (hoặc một biểu thức) và toán tử KHÔNG ĐẦY ĐỦ (trong ví dụ của chúng tôi, price IS NOT NULL
). Đặt điều kiện này trong mệnh đề WHERE (trong ví dụ của chúng tôi, WHERE price IS NOT NULL
), lọc các hàng.
Nếu điều kiện là đúng, nó biểu thị cột không lưu trữ NULL. Hàng được trả về nếu nó có giá trị trong cột này (cột không phải là NULL). Từ trên, truy vấn chỉ trả về hai sản phẩm, sữa và bánh mì, vì chúng có giá trị trong price
.