对比较运算符ANY,SOME还是ALL只需要子查询结果吗?

时间:2016-02-02 11:29:17

标签: sql sql-server

以下#1 SQL有效,而#2 SQL无效。

SELECT * FROM #MyTab WHERE ID >ANY (SELECT 1)

SELECT * FROM #MyTab WHERE ID >ANY (1,2)

data \ table的定义如下。

CREATE TABLE #MyTab 
(
ID INT, 
VALUE CHAR
)

INSERT INTO #MyTab (ID, VALUE) VALUES
(1,'A'), (2,'B'), (3,'C'), (4,'D'), (5,'E')

我想了解ANYSOMEALL运算符是否只需要子查询结果作为比较输入? ......就像EXISTS条款一样......

1 个答案:

答案 0 :(得分:4)

根据documenatation,您只能将any运算符与subquery一起使用。

scalar_expression { = | < > | ! = | > | > = | ! > | < | < = | ! < } 
     { SOME | ANY } ( subquery )