Oracle中的Exists、In、ANY、ALL
Exists:子查询至少返回一行时条件为true。 Not Exists:子查询不返回任何一行时条件为true。 In:与子查询返回结果集中某个相等。 Not In:与子查询返回结果集中任何一个不相等。 ANY:比子查询返回结果中的某个大。 =ANY:与子查询返回结果中的某个相等。
Exists:子查询至少返回一行时条件为true。
Not Exists:子查询不返回任何一行时条件为true。
In:与子查询返回结果集中某个值相等。
Not In:与子查询返回结果集中任何一个值不相等。
>ANY:比子查询返回结果中的某个值大。
=ANY:与子查询返回结果中的某个值相等。
>ALL:比子查询返回结果中的所有值都大。 1、查询与10号部门某个员工工资相等的员工信息。 下面这句话与上的语句效果一样 效果如下图: 小注: =any()括号中即使出现重复的值,也不会报错,比如: 在emp表中工资的最小值为1300,下面这句话与上面语句的效果一样 效果如下图: 3、查询比10号部门所有员工工资高的员工信息。 效果如下图(没有查询到数据):select empno ,ename,sal from emp
where sal in(select sal from emp where deptno=10)
select empno ,ename,sal from emp
where sal=any(select sal from emp where deptno=10)
select empno ,ename,sal from emp
where sal=any(2450.00,5000.00,5000.00)
2、查询比10号部门某个员工工资高的员工信息。
select empno ,ename,sal from emp
where sal >any(select sal from emp where deptno=10)
select empno ,ename,sal from emp
where sal >1300
select empno ,ename,sal from emp
where sal >all(select sal from emp where deptno=10)
推荐阅读
-
5分钟了解MySQL5.7中union all用法的黑科技
-
oracle中的trim函数使用介绍
-
VMware中linux环境下oracle安装图文教程(二)ORACLE 10.2.05版本的升级补丁安装
-
linux下oracle报错,提示ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务的解决办法
-
Oracle Form中COMMIT的概述及使用技巧
-
oracle中left join和right join的区别浅谈
-
Oracle中在pl/sql developer修改表的2种方法
-
mssql和sqlite中关于if not exists 的写法
-
python中模块的__all__属性详解
-
Oracle性能优化——SQL基线(SQLbaseline)的载入与进化(11g中引入的基线)