Trong hướng dẫn này, bạn sẽ tìm hiểu cách sử dụng toán tử ANY
trong SQL Server để so sánh một giá trị với một tập hợp giá trị cột đơn được trả về bởi một truy vấn con.
Toán tử ANY
là một toán tử logic so sánh một giá trị với một tập các giá trị cột đơn trả về bởi một subquery.
Sau đây là cú pháp của toán tử ANY
:
scalar_expression comparison_operator ANY (subquery)
Trong cú pháp này:
scalar_expression
là bất kỳ biểu thức hợp lệ nào.comparison_operator
là bất kỳ toán tử so sánh hợp lệ nào bao gồm bằng (=), không bằng (<>), lớn hơn (>), lớn hơn hoặc bằng (>=), nhỏ hơn (<), nhỏ hơn hoặc bằng (<=).subquery
là một câu lệnh SELECT
trả về tập kết quả của một cột duy nhất với dữ liệu giống như kiểu dữ liệu của biểu thức.Giả sử subquery trả về một danh sách các giá trị v1
, v2
, ..., vn
. Toán tử ANY
sẽ trả về TRUE
nếu có bất kỳ biểu thức so sánh (scalar_expression
, vi
) trả về TRUE
. Nếu không, nó sẽ trả về FALSE
.
Lưu ý rằng toán tửSOME
tương đương với toán tửANY
.
Hãy xem bảng products
trong cơ sở dữ liệu mẫu BikeStores.
Ví dụ sau đây tìm các sản phẩm đã được bán với nhiều hơn hai đơn vị trong một đơn đặt hàng:
SELECT
product_name,
list_price
FROM
production.products
WHERE
product_id = ANY (
SELECT
product_id
FROM
sales.order_items
WHERE
quantity >= 2
)
ORDER BY
product_name;
Trong hướng dẫn này, bạn đã tìm hiểu cách sử dụng toán tử ANY
trong SQL Server để so sánh một giá trị với một tập giá trị cột đơn.
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.
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.
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.
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.