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, FALSEUNKNOWN.

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, FALSEUNKNOWN:

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.

Bảng Products trong cơ sở dữ liệu mẫu 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 một toán tử OR trong SQL Server

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ả:

Sử dụng nhiều toán tử OR trong SQL Server

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ả:

Sử dụng kết hợp toán tử OR với toán tử AND trong SQL Server

Trong ví dụ này, chúng tôi đã sử dụng cả hai toán tử ORAND. 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ả:

Sử dụng kết hợp toán tử OR với toán tử AND trong SQL Server

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.

SQL Server
Bài Viết Liên Quan:
Hướng dẫn đầy đủ về Expression trong SQL Server
Trung Nguyen 18/03/2021
Hướng dẫn đầy đủ về Expression trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng biểu thức CASE, COALESCE và NULLIF trong SQL Server.

NULLIF trong SQL Server
Trung Nguyen 18/03/2021
NULLIF trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng biểu thức NULLIF trong SQL Server để trả về NULL nếu đối số đầu tiên bằng đối số thứ hai.

COALESCE trong SQL Server
Trung Nguyen 18/03/2021
COALESCE trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng biểu thức COALESCE trong SQL Server để xử lý giá trị NULL trong các truy vấn.

CASE trong SQL Server
Trung Nguyen 18/03/2021
CASE trong SQL Server

Trong hướng dẫn này, bạn sẽ học cách sử dụng biểu thức CASE trong SQL Server để thêm logic if-else vào các truy vấn SQL.