Oracle——子查询
4.子查询
子查询指一个查询语句嵌套在另一个查询语句内部的查询
1.from后面的子查询
select ename, mnamefrom (select e.*, d.empno, d.ename mname, d.job, d.sal, d.deptno from emp e, emp d where e.mgr = d.empno(+));
2.where后面的子查询
(1)单行子查询
单行子查询:子查询的sql语句只查出一条记录
–查询工资大于10号部门平均工资的员工信息
select * from emp where sal>(select avg(sal) from emp where deptno=10);
(2)多行子查询
多行子查询:子查询的sql语句查出若干条记录
in、not in、exists、not exists、all、any
**1)用单行子查询
–查询20号部门的最高工资
select max(sal) from emp where deptno=20;
select * from emp where sal>( select max(sal) from emp where deptno=20);
2)>all
–20号部门的员工工资是一个集合
select sal from emp where deptno=20;
select * from emp where sal>all(select sal from emp where deptno=20);
3.exists、not exists
exists:后面跟子查询,如果子查询能查出数据,那么条件是真的,如果子查询查不出结果,条件不成立
select * from dept d where exists(select * from emp where deptno=d.deptno);
–查询没有有员工的部门信息
select * from dept d where not exists(select * from emp where deptno=d.deptno);
4.having后面的子查询
–查询各个部门的部门编号和员工人数,要求部门的平均工资大于30号部门的平均工资
select deptno,count(*),avg(sal) from emp group by deptno having avg(sal)>1500;
–查询30号部门的平均工资
select avg(sal) from emp where deptno=30;select deptno,count(*) from emp group by deptno having avg(sal)>(select avg(sal) from emp where deptno=30);
5.select 和from 之间的子查询
select empno,ename,(select 1 from dual) from emp;
注意:select 和from之间的子查询,子查询的结果只能是单行单列
原始排序:
select e.,(select count() from emp where sal>e.sal) from emp e order by 9;
Oracle——子查询相关推荐
- oracle做子查询注意事项,Oracle子查询详解
Oracle子查询详解,根据查询的结果(内部嵌套查询的结果)把子查询的类型分为单行子查询与多行子查询, 子查询概念 :当一个查询的结果是另一个查询的条件时,,称之为子查询. 使用子查询注意事项: 子查 ...
- oracle 语句 子查询,Oracle子查询
在本教程中,您将了解有助于构建更多可读查询的Oracle子查询,并可在不使用复杂联接或联合的情况下编写查询. Oracle子查询简介 子查询是嵌套在另一个语句(如SELECT,INSERT,UPDAT ...
- oracle 查询 ppt,oracle子查询.ppt
<oracle子查询.ppt>由会员分享,可在线阅读,更多相关<oracle子查询.ppt(26页珍藏版)>请在人人文库网上搜索. 1.子查询,目标,通过本章学习,您将可以: ...
- oracle之子查询_,Oracle子查询详解
Oracle子查询详解,根据查询的结果(内部嵌套查询的结果)把子查询的类型分为单行子查询与多行子查询, 子查询概念 :当一个查询的结果是另一个查询的条件时,,称之为子查询. 使用子查询注意事项: 子查 ...
- oracle查询前几名,Oracle子查询前1名的结果(Oracle subquery top 1 result)
Oracle子查询前1名的结果(Oracle subquery top 1 result) 我想为b的每个唯一值得到最高的1行,最小值为c的那个特定值. 即使可以有超过1行具有相同的最小值(只需选择第 ...
- oracle子查询不减少数据,Oracle性能优化-子查询到特殊问题
编辑手记:前面我们介绍常用的子查询优化方法,但总有一些情况时在规律之外.谨慎处理方能不掉坑. 前文回顾: 作者简介:韩锋 精通包括Oracle.MySQL.informix等多种关系型数据库,有丰富的 ...
- 怎样学好Oracle子查询,Oracle学习(六):子查询
Oracle学习(6):子查询 子查询 为何要用子查询 SQL> --查询工资比SCOTT高的员工信息 SQL> --1. 知道SCOTT的工资 SQL> select sal fr ...
- oracle复杂的子查询,Oracle 子查询(复杂select语句)
在执行数据操作时,如果某个操作需要依赖于另外一个 select语句的查询结果,那么就可以把 select 语句迁入到该操作语句中,这样就形成了一个子查询.实际应用中,表与表之间相互关联,相互依存,这样 ...
- Oracle子查询中含group by 和order by,排序字段为聚合列的别名+数值函数,外层count统计出错
该问题猜测是个bug,19c版本执行结果正常,11g版本错误 建议:如果子查询中有group by 和order by,排序字段还需用数值函数处理,避免直接用别名 Oracle版本:11g 原始SQL ...
- pg、mysql、oracle子查询兼容性对比
背景: 今天在查看mysql数据库一条语句的执行计划时,提示子查询需要加别名,于是对pg.oracle都做了一个测试,对比一下三种数据库的区别. 数据库版本: pg11.6.mysql5.7.29.o ...
最新文章
- 2020年,大火的Python和JavaScript是否会被取而代之?
- Flink SQL 在网易云音乐的产品化实践
- 《剑指offer》把二叉树打印成多行
- Ajax——php基础知识(二)
- 开源应用诊断利器 Arthas GitHub Star 突破两万
- c#winform演练 ktv项目 实现上一曲和下一曲的播放功能
- eclipse自动为变量生成Get/Set函数
- Patchwork Quilting(拼布和绗缝)
- cocos bubbles_像Messenger Bubbles这样的Android浮动小部件
- 「leetcode」104559:求树的最大深度
- 国产卫星高分四号(GF4)预处理(辐射定标)
- Atitit mybatis topic file list Total 300ge (9+条消息)MyBatis框架核心之(五)注解使用resultMap及多表查询 - 弱弱的猿 - CSD
- 生成PDF并上传到图片服务器
- c语言字符幂函数怎么编写,我如何自己编写幂函数?
- 计算机带不动移动硬盘,我笔记本的USB带不动移动硬盘,但另外一台电脑又可以,同样的盘盒,换一块硬盘又可以,...
- 支付宝之小鸡拍球游戏(C++)
- java json 长度限制_tomcat解决POST请求过长的限制
- Mac 移动硬盘突然自己异常退出了(一)
- js爬取:bili播放列表,右下角建立红底白字下载按钮,保存为csv格式到本地
- 0x01A686F0 处有未经处理的异常(在 五金上色软件.exe 中): 0xC000041D: 用户回调期间遇到未经处理的异常。。...