Toán tử ANY trong SQL Server

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ệ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.

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.

Toán tử ANY trong SQL Server

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.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *