全心思齐网

some和all的区别?

一、any,some,all介绍

any,some,all是Mysql当中的逻辑运算符,作用是将子查询返回的单列值的集合与查询的单个值作比较。any,all,some前面需跟比较运算符(>, >=, <, <=, !=, =,但是这里的单个使用=号的情况只有子集的数据是单个值或者子集数据全部相同才能符合情况,如果子集是多个不同的就不满足,根据实际情况使用)


二、使用情况


1.all逻辑运算符

例如:

select …from …where c > all(…)

表示c列中的值必须要大于子查询集的每一个值,即必须要大于子查询集的最大值;如果是小于号即小于子查询集的最小值。同理可以推出其它的比较运算符的情况。


select * from students where score >

all(select score from students where sclass=2)

2.any和some运算符

any和some作用是一样的。


例如:

select…from…where c > any(…) 或者 select …from …where c > some(…)

表示c列中的值要大于子查询中的任意一个值,即必须要大于子查询集中的最小值。同理可以推出其它的比较运算符的情况。

匿名回答于2021-08-10 03:42:12


相关知识问答