全部&任何 是SQL中的逻辑运算符。结果返回布尔值。
null
全部的
ALL运算符用于选择select语句的所有元组。它还用于将一个值与另一个值集中的每个值或子查询的结果进行比较。
- 如果所有子查询值都满足条件,ALL运算符将返回TRUE。如果所有子查询值都满足条件,则ALL前面必须有比较运算符,并计算为true。
- ALL与SELECT、WHERE、HAVING语句一起使用。
全部带有SELECT语句:
Syntax: SELECT ALL field_name FROM table_name WHERE condition(s);
都带有WHERE或have语句:
Syntax: SELECT column_name(s) FROM table_name WHERE column_name comparison_operator ALL (SELECT column_name FROM table_name WHERE condition(s));
例子: 考虑下面的产品表和订单详细信息表,
询问
- 找到所有产品的名称。
SELECT ALL ProductName FROM Products WHERE TRUE;
输出:
- 如果OrderDetails中的所有记录的数量都等于6或2,请查找产品名称。
SELECT ProductName FROM Products WHERE ProductID = ALL (SELECT ProductId FROM OrderDetails WHERE Quantity = 6 OR Quantity = 2);
输出:
- 查找OrderID的所有产品中最大数量大于所有OrderID平均数量的OrderID。
SELECT OrderID FROM OrderDetails GROUP BY OrderID HAVING max(Quantity) > ALL (SELECT avg(Quantity) FROM OrderDetails GROUP BY OrderID);
输出:
任何
ANY将一个值与列表中的每个值或查询结果进行比较,如果内部查询的结果至少包含一行,则其计算结果为true。
- 如果任何子查询值满足条件,则ANY返回true。
- ANY前面必须有比较运算符。 语法:
SELECT column_name(s) FROM table_name WHERE column_name comparison_operator ANY (SELECT column_name FROM table_name WHERE condition(s));
询问
- 查找OrderDetails表中有任何记录的产品的不同类别ID。
SELECT DISTINCT CategoryID FROM Products WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails);
输出:
- 查找OrderDetails表中Quantity=9的所有记录。
SELECT ProductName FROM Products WHERE ProductID = ANY (SELECT ProductID FROM OrderDetails WHERE Quantity = 9);
本文由 阿努伊·乔汉 .如果你喜欢GeekSforgek,并想贡献自己的力量,你也可以使用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END