Toán tử ANY 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ử 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.
Giới thiệu về toán tử ANY trong SQL Server
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ệnhSELECT
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
.
Ví dụ về toán tử ANY trong SQL Server
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.