OR trong SQL Server
Trong hướng dẫn này, bạn sẽ tìm hiểu cách sử dụng toán tử OR
trong SQL Server để kết hợp hai biểu thức Boolean.
Giới thiệu về toán tử OR trong SQL Server
Toán tử OR
trong SQL Server là một toán tử logic cho phép bạn kết hợp hai biểu thức Boolean. Nó trả về TRUE
khi một trong các điều kiện được đánh giá là TRUE
.
Dưới đây minh họa cú pháp của toán tử OR
trong SQL Server:
boolean_expression OR boolean_expression
Trong cú pháp này, boolean_expression
bất kỳ biểu thức Boolean hợp lệ nào được đánh giá là TRUE
, FALSE
và UNKNOWN
.
Bảng dưới đây cho thấy kết quả của toán tử OR
khi bạn kết hợp TRUE
, FALSE
và UNKNOWN
:
TRUE | FALSE | UNKNOWN | |
---|---|---|---|
TRUE | TRUE | TRUE | TRUE |
FALSE | TRUE | FALSE | UNKNOWN |
UNKNOWN | TRUE | UNKNOWN | UNKNOWN |
Khi bạn sử dụng nhiều toán tử logic trong một câu lệnh, SQL Server sẽ đánh giá các toán tử OR
sau toán tử AND
. Tuy nhiên, bạn có thể sử dụng dấu ngoặc đơn để thay đổi thứ tự đánh giá.
Ví dụ về toán tử OR trong SQL Server
Chúng tôi sẽ sử dụng bảng products
từ cơ sở dữ liệu mẫu để làm ví dụ minh họa cho toán tử OR trong SQL Server.
Sử dụng một toán tử OR trong SQL Server
Ví dụ sau đây tìm kiếm các sản phẩm có giá niêm yết dưới 200 hoặc lớn hơn 6.000:
SELECT
product_name,
list_price
FROM
production.products
WHERE
list_price < 200
OR list_price > 6000
ORDER BY
list_price;
Đây là kết quả:
Sử dụng nhiều toán tử OR trong SQL Server
Câu lệnh sau đây tìm kiếm các sản phẩm có id thương hiệu là 1, 2 hoặc 4:
SELECT
product_name,
brand_id
FROM
production.products
WHERE
brand_id = 1 OR
brand_id = 2 OR
brand_id = 4
ORDER BY
brand_id DESC;
Đây là kết quả:
Bạn có thể thay thế nhiều toán tử OR
bởi toán tử IN
như trong truy vấn sau:
SELECT
product_name,
brand_id
FROM
production.products
WHERE
brand_id IN (1, 2, 3)
ORDER BY
brand_id DESC;
Sử dụng kết hợp toán tử OR với toán tử AND trong SQL Server
Hãy xem ví dụ sau:
SELECT
product_name,
brand_id,
list_price
FROM
production.products
WHERE
brand_id = 1 OR
brand_id = 2 AND
list_price > 500
ORDER BY
brand_id DESC,
list_price;
Đây là kết quả:
Trong ví dụ này, chúng tôi đã sử dụng cả hai toán tử OR
và AND
. Như mọi khi, SQL Server đã đánh giá toán tử AND
trước. Do đó, truy vấn trả về các sản phẩm có id thương hiệu là 2 và giá niêm yết lớn hơn 500 hoặc các sản phẩm có id thương hiệu là 1.
Để tìm các sản phẩm có id thương hiệu là 1 hoặc 2 và giá niêm yết lớn hơn 500, bạn sử dụng dấu ngoặc đơn như trong truy vấn sau:
SELECT
product_name,
brand_id,
list_price
FROM
production.products
WHERE
(brand_id = 1 OR brand_id = 2) AND
list_price > 500
ORDER BY
brand_id;
Đây là kết quả:
Trong hướng dẫn này, bạn đã học cách sử dụng toán tử OR
trong SQL Server để tạo điều kiện bằng cách kết hợp hai biểu thức Boolean.