首页 > 数据库 > mysql教程 > Oracle中的Exists、In、ANY、ALL

Oracle中的Exists、In、ANY、ALL

WBOY
发布: 2016-06-07 15:19:46
原创
1364 人浏览过

Exists:子查询至少返回一行时条件为true。 Not Exists:子查询不返回任何一行时条件为true。 In:与子查询返回结果集中某个相等。 Not In:与子查询返回结果集中任何一个不相等。 ANY:比子查询返回结果中的某个大。 =ANY:与子查询返回结果中的某个相等。

Exists:子查询至少返回一行时条件为true。

Not Exists:子查询不返回任何一行时条件为true。

In:与子查询返回结果集中某个值相等。

Not In:与子查询返回结果集中任何一个值不相等。

>ANY:比子查询返回结果中的某个值大。

=ANY:与子查询返回结果中的某个值相等。

>ALL:比子查询返回结果中的所有值都大。

1、查询与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)
登录后复制

效果如下图:

Oracle中的Exists、In、ANY、ALL

小注:

        =any()括号中即使出现重复的值,也不会报错,比如:

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)
登录后复制

在emp表中工资的最小值为1300,下面这句话与上面语句的效果一样

select empno ,ename,sal from emp 
where sal >1300
登录后复制

效果如下图:

Oracle中的Exists、In、ANY、ALL

3、查询比10号部门所有员工工资高的员工信息。

select empno ,ename,sal from emp 
where sal >all(select sal from emp where deptno=10)
登录后复制

效果如下图(没有查询到数据):

Oracle中的Exists、In、ANY、ALL


相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板