mysql中any、all、some、in的区别

https://www.cnblogs.com/HDK2016/p/8578587.html

其中:

any 可以与=、>、>=、<、<=、<>结合起来使用,分别表示   只要等于、大于、大于等于、小于、小于等于、不等于    其中的任何一个数据就可以

all可以与=、>、>=、<、<=、<>结合是来使用,分别表示   必须等于、大于、大于等于、小于、小于等于、不等   其中的所有数据才可以

例1

select s1 
from t1 
where s1 > any (select s1 from t2);

假设表t1中有一行包含(10),t2包含(21,14,6),则表达式为true;如果t2包含(20,10),或者表t2为空表,则表达式为false。如果表t2包含(null,null,null),则表达式为unkonwn。

例2

select s1 

from t1 
where s1 > all(select s1 from t2);

 假设表t1中有一行包含(10)。如果表t2包含(-5,0,+5),则表达式为true,因为10比t2中的查出的所有三个值大。如果表t2包含(12,6,null,-100),则表达式为false,因为t2中有一个值12大于10。如果表t2包含(0,null,1),则表达式为unknown。如果t2为空表,则结果为true

其中:

some=any

not in  与<>any 用法相同

in 与=any用法相同

你可能感兴趣的:(学习,mysql,mysql,sql)