- vừa được xem lúc

SQL - Nhưng điều lưu ý khi làm việc với null trong sql

0 0 1

Người đăng: Thảo Lê

Theo Viblo Asia

Nhưng điều lưu ý khi làm việc với null trong sql

Bài viết sử dụng table Bricks để mô tả các ví dụ:

create table bricks (id integer not null primary key, color varchar(100) not null, quantity integer); INSERT INTO bricks (id, color, quantity) VALUES
(1, 'Red', 100),
(2, 'Blue', 50),
(3, 'Green', 75),
(4, 'Yellow', 30),
(5, 'Black', NULL),
(6, 'White', NULL);

image.png

1. Không giá trị nào bằng null

Khi so sánh bất kì giá trị nào với null, kết quả luôn luôn là "unknown".

Vd: Query so sánh bằng null luôn luôn trả về 0 row

select * from bricks where quantity = null;

image.png

2. Is null condition

Để làm việc với null-value, ta nên sử dụng "is null" condition.

Vd: Ta sẽ update lại câu query null-value thành:

select * from bricks where quantity is null;

image.png

3. So sánh với null

Nếu value của column có thể bằng null, nên lưu ý khi thực hiện so sánh trên range.

Vd: Nếu ta muốn lấy các viên gạch có số lượng còn trong kho nhỏ hơn 60 để nhập thêm thì câu Query sau đã vô tình loại bỏ những viên gạch có số lượng là null

select * from bricks where quantity < 60;

image.png

Nếu ta muốn đảm bảo kết quả Query bao gồm cả null value, ta có thể update như sau:

select * from bricks where quantity < 60 or quantity is null;

Ngoài ra SQL còn hỗ trợ ta các function để làm việc với null một cách dễ dàng:

3.1 IfNULL() và COALESCE()

2 Hàm ifnull()coalesce() đều giúp chúng ta map null value với một giá trị cụ thể, khác nhau ở số lượng argument yều cầu truyền vào

IFNULL(expr1, expr2) -- Cho 2 arguments
COALESCE(expr1, expr2, ..., exprN) -- any arguments

Vd: image.png

image.png

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Stored Procedure trong SQL Server

Stored Procedure là 1 phần không thể thiếu của SQL Server. Chúng có thể hỗ trợ rất nhiều cho lập trình và cấu hình cơ sở dữ liệu.

0 0 170

- vừa được xem lúc

sử dụng index trong sql query

Index là một trong những yếu tố quan trọng nhất góp phần vào việc nâng cao hiệu suất của cơ sở dữ liệu. Index trong SQL tăng tốc độ của quá trình truy vấn dữ liệu bằng cách cung cấp phương pháp truy xuất nhanh chóng tới các dòng trong các bảng, tương tự như cách mà mục lục của một cuốn sách giúp bạn

0 0 270

- vừa được xem lúc

Hướng dẫn sửa lỗi không cài được SQL Server

Hôm qua do yêu cầu môn học, mình có cài lại Microsoft SQL Server. Trước đó mình có cài rồi, nhưng rồi lâu không dùng nên gỡ ra cho nhẹ máy. Bây giờ có dịp cần nên mình mới cài lại. Chi tiết lỗi mình gặp phải.

0 0 142

- vừa được xem lúc

Bạn nên tránh sử dụng Soft Delete khi có thể, và đây là lý do tại sao

Con người luôn luôn mắc sai lầm. Vì vậy, việc "lo xa" trước mọi tình huống xấu nhất chưa bao giờ là thừa.

0 0 210

- vừa được xem lúc

Sử dụng trigger trong SQL qua ví dụ cơ bản.

Trigger là gì . Cú pháp của Trigger. CREATE TRIGGER tên_trigger ON tên_bảng. FOR {DELETE, INSERT, UPDATE}.

0 0 169

- vừa được xem lúc

Khác biệt giữa khóa chính và khóa ngoại trong SQL

Các khoá chính và khóa ngoại là hai loại ràng buộc có thể được sử dụng để thực thi toàn vẹn dữ liệu trong các bảng SQL Server và đây là những đối tượng cơ sở dữ liệu quan trọng. Trong bài này, tôi muố

0 0 159