Toán tử ALL trong SQL Server

Toán tử ALL trong SQL Server

  • Trung Nguyen
  • 21/11/2020

  • 3 min read

Trong hướng dẫn này, bạn sẽ tìm hiểu cách sử dụng toán tử ALL trong SQL Server để so sánh một giá trị với danh sách tập hợp giá trị cột đơn.

Tổng quan về toán tử ALL trong SQL Server

Toán tử ALL trong SQL Server là một toán tử logic so sánh một giá trị với một danh sách giá trị cột đơn được trả về bởi một truy vấn con.

Bạn đang đọc: Toán tử ALL trong SQL Server

Sau đây minh họa cú pháp toán tử ALL trong SQL Server:

scalar_expression comparison_operator ALL ( 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 (<=).
  • Trong subquery là một câu lệnh SELECT trả về kết quả của một cột duy nhất. Ngoài ra, kiểu dữ liệu của cột trả về phải cùng kiểu dữ liệu với kiểu dữ liệu của biểu thức.

Toán tử ALL sẽ trả về TRUE nếu tất cả các cặp biểu thức (scalar_expression, v) trả về TRUE; với v là một giá trị trong tập giá trị cột đơn.

Nếu một trong các cặp biểu thức (scalar_expression, v) trả về FALSE thì toán tử ALL sẽ trả về FALSE.

Ví dụ về toán tử ALL trong SQL Server

Hãy xem bảng products trong cơ sở dữ liệu mẫu BikeStores.

Toán tử ALL trong SQL Server

Câu lệnh sau trả về giá niêm yết trung bình của các sản phẩm cho từng thương hiệu:

SELECT
    AVG (list_price) avg_list_price
FROM
    production.products
GROUP BY
    brand_id
ORDER BY
    avg_list_price;

Toán tử ALL trong SQL Server

scalar_expression > ALL ( subquery )

Biểu thức trả về TRUE nếu giá trị scalar_expression lớn hơn giá trị lớn nhất được trả về bởi truy vấn con (subquery).

Ví dụ : truy vấn sau đây tìm những loại sản phẩm có giá niêm yết lớn hơn giá niêm yết trung bình của những loại sản phẩm thuộc tổng thể những tên thương hiệu :

SELECT
    product_name,
    list_price
FROM
    production.products
WHERE
    list_price > ALL (
        SELECT
            AVG (list_price) avg_list_price
        FROM
            production.products
        GROUP BY
            brand_id
    )
ORDER BY
    list_price;

Toán tử ALL trong SQL Server

scalar_expression < ALL ( subquery )

Biểu thức trả về TRUE nếu giá trị scalar_expression nhỏ hơn giá trị nhỏ nhất được trả về bởi truy vấn con (subquery).

Ví dụ sau đây tìm những loại sản phẩm có giá niêm yết nhỏ hơn giá nhỏ nhất trong bảng giá trung bình theo tên thương hiệu :

SELECT
    product_name,
    list_price
FROM
    production.products
WHERE
    list_price < ALL (
        SELECT
            AVG (list_price) avg_list_price
        FROM
            production.products
        GROUP BY
            brand_id
    )
ORDER BY
    list_price DESC;

Toán tử ALL trong SQL Server

Tương tự, bạn có thể lấy ví dụ của riêng mình về việc sử dụng toán tử ALL với một trong các toán tử so sánh sau, chẳng hạn như bằng (=), lớn hơn hoặc bằng (>=), nhỏ hơn hoặc bằng (<=) và không bằng (<>).

Trong hướng dẫn này, bạn đã tìm hiểu cách sử dụng toán tử ALL 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.

Nếu Comdy hữu ích và giúp bạn tiết kiệm thời gian làm việc

Bạn hoàn toàn có thể vui vẻ đưa Comdy vào whitelist của trình chặn quảng cáo ❤ ️ để tương hỗ chúng tôi trong việc trả tiền cho dịch vụ tàng trữ web để duy trì hoạt động giải trí của website .