AND 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ử AND trong SQL Server để kết hợp nhiều biểu thức Boolean.

Giới thiệu về toán tử AND trong SQL Server

Toán tử AND 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ó chỉ trả về TRUE khi cả hai biểu thức được đánh giá là TRUE.

Sau đây minh họa cú pháp của toán tử AND:

boolean_expression AND boolean_expression

boolean_expression là 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ả khi bạn kết hợp các giá trị TRUE, FALSEUNKNOWN bằng cách sử dụng toán tử AND:

TRUE FALSE UNKNOWN
TRUE TRUE FALSE UNKNOWN
FALSE FALSE FALSE FALSE
UNKNOWN UNKNOWN FALSE UNKNOWN

Khi bạn sử dụng nhiều toán tử logic trong một biểu thức, SQL Server luôn đánh giá các toán tử AND trước. Tuy nhiên, bạn có thể thay đổi thứ tự đánh giá bằng cách sử dụng dấu ngoặc đơn.

Ví dụ về toán tử AND 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ử AND 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ử AND trong SQL Server

Ví dụ sau đây tìm kiếm các sản phẩm có id loại sản phẩm là 1 và giá niêm yết lớn hơn 400:

SELECT
    *
FROM
    production.products
WHERE
    category_id = 1 AND 
    list_price > 400
ORDER BY
    list_price DESC;

Đây là kết quả:

Sử dụng một toán tử AND trong SQL Server

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

Câu lệnh sau đây tìm kiếm các sản phẩm đáp ứng tất cả các điều kiện sau: id loại sản phẩm là 1, giá niêm yết lớn hơn 400 và id thương hiệu là 1:

SELECT
    *
FROM
    production.products
WHERE
    category_id = 1 AND 
    list_price > 400 AND 
    brand_id = 1
ORDER BY
    list_price DESC;

Đây là kết quả:

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

Sử dụng toán tử AND với các toán tử logic khác trong SQL Server

Xem ví dụ truy vấn sau:

SELECT
    *
FROM
    production.products
WHERE
    brand_id = 1 OR 
    brand_id = 2 AND 
    list_price > 1000
ORDER BY
    brand_id DESC;

Đây là kết quả:

Sử dụng toán tử AND với các toán tử logic khác trong SQL Server

Trong ví dụ này, chúng tôi đã sử dụng cả hai toán tử ORAND trong điều kiện. Như mọi khi, SQL Server sẽ đánh giá toán tử AND trước. Do đó, truy vấn đã truy xuất các sản phẩm có id thương hiệu là 2 và giá niêm yết lớn hơn 1.000 hoặc các sản phẩm có id thương hiệu là 1.

Để 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 1.000, bạn sử dụng dấu ngoặc đơn như sau:

SELECT
    *
FROM
    production.products
WHERE
    (brand_id = 1 OR brand_id = 2) AND 
    list_price > 1000
ORDER BY
    brand_id;

Đây là kết quả:

Sử dụng toán tử AND với các toán tử logic khác trong SQL Server

Trong hướng dẫn này, bạn đã học cách sử dụng toán tử AND trong SQL Server để kết hợp hai biểu thức Boolean.

SQL Server
Bài Viết Liên Quan:
INTERSECT trong SQL Server
Trung Nguyen 22/11/2020
INTERSECT trong SQL Server

Tìm hiểu cách sử dụng toán tử INTERSECT trong SQL Server để trả về phần giao nhau của các tập kết quả của hai truy vấn.

EXCEPT trong SQL Server
Trung Nguyen 22/11/2020
EXCEPT trong SQL Server

Tìm hiểu cách sử dụng EXCEPT trong SQL Server để loại trừ tập kết quả của một truy vấn ra khỏi tập kết quả của một truy vấn khác.

SQL Server: Hướng dẫn subquery trong SQL Server từ A-Z
Trung Nguyen 22/11/2020
SQL Server: Hướng dẫn subquery trong SQL Server từ A-Z

Tìm hiểu về subquery, toán tử EXISTS, ANY, ALL trong SQL Server và cách sử dụng truy vấn con để truy vấn dữ liệu.

UNION trong SQL Server
Trung Nguyen 22/11/2020
UNION trong SQL Server

Tìm hiểu cách sử dụng UNION trong SQL Server để kết hợp kết quả của hai hoặc nhiều truy vấn thành một tập kết quả duy nhất.