数据库ALL和ANY的区别

这两个都是用于子查询的

any 是任意一个 
all 是所有

any表示有任何一个满足就返回true,all表示全部都满足才返回true

比如 :

select * from student where 班级=’01’ and age > all (select age from student where 班级=’02’);
  • 1

就是说,查询出01班中,年龄大于 02班所有人的同学 相当于

select * from student where 班级=’01’ and age > (select max(age) from student where 班级=’02’);
  • 1

select * from student where 班级=’01’ and age > any (select age from student where 班级=’02’); 
  • 1

就是说,查询出01班中,年龄大于 02班任意一个 的 同学 相当于

select * from student where 班级=’01’ and age > (select min(age) from student where 班级=’02’);
posted @ 2020-10-11 15:34  八英里  阅读(1771)  评论(0编辑  收藏  举报