SQL Server 中的 ALL、SOME 和ANY

网友投稿 468 2023-05-30

*** 中的 ALL、SOME 和ANY

*** 中的 ALL、SOME 和ANY

ALL、SOME 和 ANY是*** 三个比较运算符,其中 SOME 和 ANY 是等效的

SOME 或 ANY:当表达式与子查询返回的至少一个值比较时满足比较条件, SOME 或 ANY 就返回 TRUE。否则返回 FALSE

ALL :当表达式与子查询返回的所有值比较时满足比较条件, ALL 就返回 TRUE。否则返回 FALSE

create table test01 ( num int)  insert into test01 select 5 union select 6  create table test02 (num int)  insert into test02 select 2 union select 3 union select 6 union select 7  select * from test01

select * from test02

至此 test01 表中有数据: 5和 6 , test02表中有数据 :2,3,6,7

select num as num1 from test02 where num > all(select num from test01 ) select num as num2 from test02 where num > any(select num from test01 ) select num as num3 from test02 where num > some(select num from test01)

select num as num4 from test02 where num = all (select num from test01 ) select num as num5 from test02 where num = any(select num from test01 ) select num as num6 from test02 where num = some(select num from test01)

select num as num7 from test02 where num <> all (select num from test01 ) select num as num8 from test02 where num <> any (select num from test01 ) select num as num9 from test02 where num <>some(select num from test01)

从上面的测试结果看,= any 或 = some 与平时使用的 in 是等效的。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:数据软删除时保持字段值唯一性的问题
下一篇:日常Bug排查-系统失去响应-Redis使用不当
相关文章