sql语句中any和all的用法

转载自:https://blog.csdn.net/xianglingchuan/article/details/51737330

以下的解释很清楚:

这两个都是用于子查询的

any 是任意一个 
all 是所有
any表示有任何一个满足就返回true,all表示全部都满足才返回true 
**感觉这句很清楚
比如 
select * from student where 班级=’01’ and age > all (select age from student where 班级=’02’); 
就是说,查询出01班中,年龄大于 02班所有人的同学 
相当于 
select * from student where 班级=’01’ and age > (select max(age) from student where 班级=’02’);
而 
select * from student where 班级=’01’ and age > any (select age from student where 班级=’02’); 
就是说,查询出01班中,年龄大于 02班任意一个 的 同学 
相当于 
select * from student where 班级=’01’ and age > (select min(age) from student where 班级=’02’);

猜你喜欢

转载自blog.csdn.net/Type_Writer/article/details/80810831