SQL ALL 操作符
SQL ALL 运算符
ALL 运算符用于将值与子查询返回的每个值进行比较。
如果子查询结果集中的每个值都满足条件,则 ALL 运算符的求值结果为 TRUE。
ALL 运算符通常与 WHERE 和 HAVING 语句一起使用。
ALL 语法
SELECT column_name(s) FROM table_name WHERE column_name operator ALL (subquery);
注意:运算符必须是标准比较运算符(=、<>、!=、>、>=、< 或 <=)。
演示数据库
以下是 Northwind 示例数据库中 Products 表中的片段:
| ProductID | ProductName | Price |
|---|---|---|
| 1 | Chais | 18.00 |
| 2 | Chang | 19.00 |
| 3 | Aniseed Syrup | 10.00 |
| 4 | Chef Anton's Cajun Seasoning | 22.00 |
以及 OrderDetails 表中的片段:
| OrderDetailID | ProductID | Quantity |
|---|---|---|
| 1 | 11 | 12 |
| 2 | 42 | 10 |
| 3 | 72 | 5 |
| 4 | 14 | 9 |
SQL ALL 示例
以下 SQL 语句将返回 ProductName,如果 OrderDetails 表中的所有记录的 Quantity 都等于 10。这当然会返回 FALSE,因为 Quantity 列有许多不同的值(不仅仅是值 10):
实例
SELECT ProductName FROM Products WHERE ProductID = ALL ( SELECT ProductID FROM OrderDetails WHERE Quantity = 10 );