Oracle数据库中的子查询,判断符In、any、all
来源:互联网 发布:饥荒联机网络较差 编辑:程序博客网 时间:2024/05/21 19:33
子查询=简单查询+限定查询+多表查询+统计查询的综合体
多表查询性能差,替代方案:子查询,所谓的子查询指的是在一个查询之中嵌套了其他的若干查询,嵌套子查询之后的查询SQL语句如下:
如果出现的子查询返回的是多行单列数据的话,这个时候就需要使用三种判断符判断了:IN、ANY、ALL;
IN操作符:用于指定一个子查询的判断范围
ANY操作符:与每一个内容相匹配,有三种匹配形式
=any:功能与IN操作符是完全一样的
>any:比子查询中返回记录最小的还要大的数据
<any:比子查询中返回记录最大的还要小的数据
应用实例:
--IN
select ename,sal from emp where job='MANAGER'select * from emp where sal in(select sal from emp where job='MANAGER')
--ANY:=ANY与In的作用一样
select * from emp where sal=any(select sal from emp where job='MANAGER')
-->ANY:比子查询中返回的最小结果还要大
select * from emp where sal>any(select sal from emp where job='MANAGER')
--<ANY:比子查询中返回的最大结果要小
select * from emp where sal<any(select sal from emp where job='MANAGER')
ALL操作符:与每一个内容相匹配,有两种匹配形式:
>ALL:比子查询中返回的最大的记录还要大
<ALL:比子查询中返回的最小的记录还要小
应用实例:
--All
-->All,比子查询中返回的最大结果还要大
select * from emp where sal> all(select sal from emp where job='MANAGER');
--<All,比子查询中返回的最小结果还要小
select * from emp where sal< all(select sal from emp where job='MANAGER');
From中的子查询
在from子句中出现的查询,这个子查询一般返回的是多行多列的数据,当作一张临时表的方式来处理
应用实例:
--from中使用子查询
--查询出每个部门的编号,名称,位置,部门人数,平均工资通过子查询完成。
select d.deptno, d.dname, d.loc,temp.count,trunc(temp.avg) from dept d,(select deptno dno, count(empno) count ,avg(sal) avg from emp group by deptno) tempwhere d.deptno=temp.dno;
--查询出每个部门的编号、名称、位置、部门人数、平均工资
select deptno,dname,loc,count(empno),trunc(avg(sal)) from emp NATURAL JOIN dept group by deptno,dname,loc;
-- from 中使用子查询
select d.deptno, d.dname, d.loc,t.c,t.avg from dept d,(select deptno,count(*) c,trunc(avg(sal)) avg from emp group by deptno) twhere d.deptno=t.deptno;
阅读全文
0 0
- Oracle数据库中的子查询,判断符In、any、all
- Oracle子查询的IN、Any、All
- Oracle中的Exists、In、ANY、ALL
- Oracle中的Exists、In、ANY、ALL
- Oracle中的Exists、In、ANY、ALL
- 嵌套查询 带有in谓词,比较运算符,any或all谓词的子查询
- MYSQL数据库(十一)- 子查询、子查询用到的关键字ANY、SAME、ALL
- mysql子查询 带 In 关键字的子查询 带比较运算符的子查询 带 Exists 关键字的子查询 带 Any 关键字的子查询 带 All 关键字的子查询
- 子查询+in+exists/not exists+all+any+多列子查询
- 子查询的ANY、SOME、ALL关键字及部分数据库查询操作技巧
- sql2000嵌套查询03--带有ANY或ALL的子查询结果中的某个值
- sql中用于子查询的几个关键词 any(some是 any的别名),all,in,exists
- oracle中 all any in的用法
- oracle中 all any in的用法 .
- oracle中 all any in的用法
- ANY, SOME and ALL in Oracle
- Oracle SOME,ANY,All,EXISTS,IN
- 在oracle的子查询中使用some,any和all
- 好习惯让你健康长寿
- javaWeb之XML解析
- Spring的介绍和理解
- BZOJ 3195: [Jxoi2012]奇怪的道路 状压dp
- 在github下载的java项目通过idea打开(全流程图文,傻瓜式)
- Oracle数据库中的子查询,判断符In、any、all
- POJ
- nodejs实用代码段(三)
- Spring的设计理念与设计模式 -- 学习笔记(粗读)
- 【实战】2-22 MySQL安装配置等
- Learning Python Part I 之 文件
- change 性质题
- 【LeetNode2-1-10】Four sum--C++源代码(VS2015)
- Android_ListView (基本使用 / RecycleBin机制 / 源码解析 / 异步图片错位解决方案)