oracle中 all any in的用法 .
来源:互联网 发布:java 搜索页面敏感字 编辑:程序博客网 时间:2024/05/16 11:55
转自:http://blog.csdn.net/chenjinlin1/article/details/6565471
用some,any和all对子查询中返回的多行结果进行处理。下面我们来简单介一下这几个关键词的含义。
- Some在此表示满足其中一个的意义,是用or串起来的比较从句。
- Any也表示满足其中一个的意义,也是用or串起来的比较从句,区别是any一般用在非“=”的比较关系中,这也很好理解,英文中的否定句中使用any肯定句中使用sone,这一点是一样的。
- All则表示满足其其中所有的查询结果的含义,使用and串起来的比较从句。
下面是一些例子
找出员工中,只要比部门号为10的员工中的任何一个员工的工资高的员工的姓名个工资。也就是说只要比部门号为10的员工中的那个工资最少的员工的工资高就满足条件。
select ename,sal
From emp
Where sal > any(select sal from emp where deptno = 10);
这里推荐用any,如果你非要用some也是没有任何问题的,结果是一样的,只是一般来讲some用在“=”的比较从句中。
select ename,sal
From emp
Where sal > some(select sal from emp where deptno = 10);
上面的用法完全OK的。
select ename,sal
From emp
Where sal = some(select sal from emp where deptno = 30) and deptno not in (select deptno from emp where deptno = 30);
上面才是some的正常用法。其含义是找到和30部门员工的任何一个人工资相同的那些员工。虽然没有找到。
最后一个关键字all的用法也很简单就是要与子查询的每一结果都要匹配。
select ename,sal
From emp
Where sal > all(select sal from emp where deptno = 20);
上面的SQL语句的意义与前面的就完全不一样了,其意义是找到比部门号为20的员工的所有员工的工资都要高的员工,也就是比那个工资最高的员工的还要高的员工
总的来说some和any用法意义是一样的,仅在词法上有不同,都表示对子查询结果集中“或”的比较关系,而all则是对子查询结果集总每一个结果“与”的关系
举几个例子来说明ALL和ANY的用法
1. SELECT * FROM TABLEA WHERE FLD > ALL(SELECT FLD FROM TABLEA)
这相当于
SELECT * FROM TABLEA WHERE FLD > (SELECT MAX(FLD) FROM TABLEA)
2. SELECT * FROM TABLEA WHERE FLD < ANY(SELECT FLD FROM TABLEA)
这相当于
SELECT * FROM TABLEA WHERE FLD < (SELECT MIN(FLD) FROM TABLEA)
3. SELECT * FROM TABLEA WHERE FLD = ANY(SELECT FLD FROM TABLEA)
这相当于
SELECT * FROM TABLEA WHERE FLD IN (SELECT FLD FROM TABLEA)
- oracle中 all any in的用法
- oracle中 all any in的用法 .
- oracle中 all any in的用法
- mysql 中any,some,all,in的用法
- oracle中any,some,all用法
- Oracle子查询的IN、Any、All
- oracle中all,any的区别使用
- Oracle笔记之any,some,all以及exists与in的用法
- SQL中exists,any,all,some,in的问题
- SQL中exists,any,all,some,in的问题
- SQL中exists,any,all,some,in的问题
- ANY, SOME and ALL in Oracle
- Oracle中的Exists、In、ANY、ALL
- Oracle SOME,ANY,All,EXISTS,IN
- Oracle中的Exists、In、ANY、ALL
- Oracle中的Exists、In、ANY、ALL
- sql语句中any和all的用法
- sql中exsists, in, all, any, some,
- Wpf一个简单的物体移动动画
- 设计模式- 单例模式
- 浅谈 Linux 内核开发之网络设备驱动
- 在fedora上安装第二个gcc方法
- 想起那些瞬间,还是会心痛
- oracle中 all any in的用法 .
- Axis2 和 Spring 配置相关的内容
- IIS 下载 .dll .exe .config的配置方法
- 在 Ubuntu 上安装和配置 OpenStack Nova
- Triggers in Oracle Forms
- Yii 之组件
- C++入门进阶之2: 函数
- 数组面试题
- 设计模式- 命令模式