一尘不染

什么是准确的``居然/任何''和``泪N''。

sql

当有人通过“ SOME”或“ ANY”调用函数时,我对此不确定。

我可以将“ SOME”视为“ OneOf”还是“ OneFrom”吗?像数组(表)搜索功能一样?如果是,那么SOME和IN有什么区别?

我是SQL的新手

对不起,我的英语不好,出于某种原因,我认为现在正确使用它有点过劳了


阅读 119

收藏
2021-05-16

共1个答案

一尘不染

检查以下链接以获取一些示例,这些示例应阐明它们之间的区别:

http://technet.microsoft.com/zh-
CN/library/ms175064.aspx

IN仅测试是否相等,而ALL/ANY/SOME可以针对任何比较运算符进行测试。

这是一个示例SQL Fiddle

-- SQL 2012

CREATE TABLE T1 (ID int) ;

INSERT T1 VALUES (1) ;
INSERT T1 VALUES (2) ;
INSERT T1 VALUES (3) ;
INSERT T1 VALUES (4) ;

SELECT CASE WHEN 3 IN (SELECT id FROM t1) THEN 'in true' ELSE 'in false' END
UNION

SELECT CASE WHEN 3 < SOME (SELECT id FROM t1) THEN 'some true' ELSE 'some false' END
UNION

SELECT CASE WHEN 3 < ANY (SELECT id FROM t1) THEN 'any true' ELSE 'any false' END
UNION

SELECT CASE WHEN 3 < ALL (SELECT id FROM t1) THEN 'all true' ELSE 'all false' END;


/* Returns

all false
any true
in true
some true

*/
2021-05-16