sql语句中any和all的用法

今天在修改以前同事代码时发现用的嵌套查询,其实本人是不太喜欢用嵌套的。
当是跟代码发现执行报错,大本意思是返回的是多条信息。

就在网上查了一下,说用any就可以了,所以晚上学习一下。感谢网上的资料!

这两个都是用于子查询的

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’);

    原文作者:SQL
    原文地址: https://blog.csdn.net/xianglingchuan/article/details/51737330
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞