E.SQL Server Any运算符
Any运算符是一个逻辑运算符,它将标量值与子查询返回的单列值集进行比较。
以下时Any运算符的语法:
上面语法中,
- scalar_expression-是任何有效的表达式。
- comparison_operator-是任何比较运算符,包括等于(=),不等于(<>),大于(>),大于或等于(>=),小于(<),小于或等于(<=)。
- subquery是一个select语句,它返回单个列的结果集,其数据与标量表达式的数据类型相同。
假设子查询返回值列表v1,v2,…,vn.如果Any比较(scalar_expression,vi)返回true,则Any运算符返回true。否则它返回false。
请注意,some运算符等效于Any运算符。
以下示例查找销售订单中销售数量超过2个的产品:
F.SQL Server All运算符
SQL Server All运算符是一个逻辑运算符,它将标量值与子查询返回的单列值列表进行比较。
在上面语法中,
- scalar_expression-是任何有效的表达式。
- comparison_operator-是任何比较运算符,包括等于(=),不等于(<>),大于(>),大于或等于(>=),小于(<),小于或等于(<=)。
- 括号内的子查询(subquery)是一个select语句,它返回单个列的结果。此外,返回列的数据类型必须与标量表达式的数据类型相同。
如果所有比较对(scalar_expression,v)的计算结果为true,则All运算符返回true;v式单列结果中的值。
如果其中一对(scalar_expression,v)返回false,则All运算符返回false。
- scalar_expression>All(subquery)
如果scalar_expression大于子查询返回的最大值,则表达式返回true。
例如,以下查询查找大于所有品牌产品的平均价格的产品:
- scalar_expression<All(subpuery)
如果标量表达式(scalar_expression)小于子查询(subpuery)返回的最小值,则表达式求值为true。
以下示例按品牌查找价格低于平均价格中最低价格的产品: