转载自:http://blog.csdn.net/netcy/article/details/8464503
ALL和ANY操作符的常见用法是结合一个相对比较操作符对一个数据列子查询的结果进行测试。它们测试比较值是否与子查询所返回的全部或一部分值匹配。比如说,如果比较值小于或等于子查询所返回的每一个值,<= ALL将是true;只要比较值小于或等于子查询所返回的任何一个值,<= ANY将是true。SOME是ANY的一个同义词。
举例:
create table s1(id int);
create table t1(id int);
insert into s1 select 1;
insert into s1 select 2;
insert into s1 select 3;
insert into t1 select 1;
insert into t1 select 2;
insert into t1 select 3;
SELECT s1.id from s1 where s1.id>any(select t1.id from t1)
返回结果为:
2
3
SELECT s1.id from s1 where s1.id>=any(select t1.id from t1)
返回结果为:
1
2
3
当ALL、ANY或SOME操作符与"="比较操作符配合使用时,子查询可以是一个数据表子查询。此时,你需要使用一个数据行构造器来提供与子查询所返回的数据行进行比较的比较值。