some和all的區別?

some和all的區別?活潑風聲7x2021-11-10 17:55:32

一、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列中的值要大於子查詢中的任意一個值,即必須要大於子查詢集中的最小值。同理可以推出其它的比較運算子的情況。