oracle中all,any的区别使用

ALL()

  :表示满足于子查询的所有条件

 【案例】:查询出工资大于10部分员工工资的员工信息

SELECT * FROM emp WHERE sal > ALL(SELECT sal FROM emp WHERE deptno = 10);  --返回结果为空

这条语句相当于:

SELECT * FROM emp WHERE sal >2450 and sal > 5000 and sal >1300;


SELECT sal FROM emp WHERE deptno = 10   

下图为10部门的员工工资


ANY()

:表示满足于子查询中的某一个条件

【案例】:查询出工资大于10部分某个员工工资的员工信息

SELECT * FROM emp WHERE sal >ANY(SELECT sal FROM emp WHERE deptno = 10);

这条语句相当于:

SELECT * FROM emp WHERE sal >2450 or sal > 5000 or sal >1300;



你可能感兴趣的:(Oracle)