SQL 中ANY和ALL的用法

SQL 中ANY和ALL的用法,第1张

any表示任意一个,all表示所有的。举例如下:

1、创建测试表,create table test_any_all(id number)

2、在test_any_all 表中插入测试数据;

insert into test_any_all values(5)

insert into test_any_all values(15)

insert into test_any_all values(25)

insert into test_any_all values(30)

commit

3、查询表中全量数据;select t.*, rowid from test_any_all t;

4、编写语句,用any表达式,查询表中大于10,18,28三个数字中任意一个数据即可;

 select t.*, rowid sec from test_any_all t where id >any(10,18,28)

5、编写语句,用all表达式,查询表中大于10,18,28三个数字中最大数字的所有数据;

 select t.*, rowid sec from test_any_all t where id >all(10,18,28)

你这样理解是走入自己这个例子的误区了,any表示子查询的集合里有任何一个满足就返回true,all表示全部都满足才返回true,显然他们是不同的用法和意义。比如你用age>any(15,16,22,21,17,18,19)来判断一个人年龄是否大于集合里的所有人就是错误的,这里应该用all。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9948021.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存