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——子查询相关推荐

  1. oracle做子查询注意事项,Oracle子查询详解

    Oracle子查询详解,根据查询的结果(内部嵌套查询的结果)把子查询的类型分为单行子查询与多行子查询, 子查询概念 :当一个查询的结果是另一个查询的条件时,,称之为子查询. 使用子查询注意事项: 子查 ...

  2. oracle 语句 子查询,Oracle子查询

    在本教程中,您将了解有助于构建更多可读查询的Oracle子查询,并可在不使用复杂联接或联合的情况下编写查询. Oracle子查询简介 子查询是嵌套在另一个语句(如SELECT,INSERT,UPDAT ...

  3. oracle 查询 ppt,oracle子查询.ppt

    <oracle子查询.ppt>由会员分享,可在线阅读,更多相关<oracle子查询.ppt(26页珍藏版)>请在人人文库网上搜索. 1.子查询,目标,通过本章学习,您将可以: ...

  4. oracle之子查询_,Oracle子查询详解

    Oracle子查询详解,根据查询的结果(内部嵌套查询的结果)把子查询的类型分为单行子查询与多行子查询, 子查询概念 :当一个查询的结果是另一个查询的条件时,,称之为子查询. 使用子查询注意事项: 子查 ...

  5. oracle查询前几名,Oracle子查询前1名的结果(Oracle subquery top 1 result)

    Oracle子查询前1名的结果(Oracle subquery top 1 result) 我想为b的每个唯一值得到最高的1行,最小值为c的那个特定值. 即使可以有超过1行具有相同的最小值(只需选择第 ...

  6. oracle子查询不减少数据,Oracle性能优化-子查询到特殊问题

    编辑手记:前面我们介绍常用的子查询优化方法,但总有一些情况时在规律之外.谨慎处理方能不掉坑. 前文回顾: 作者简介:韩锋 精通包括Oracle.MySQL.informix等多种关系型数据库,有丰富的 ...

  7. 怎样学好Oracle子查询,Oracle学习(六):子查询

    Oracle学习(6):子查询 子查询 为何要用子查询 SQL> --查询工资比SCOTT高的员工信息 SQL> --1. 知道SCOTT的工资 SQL> select sal fr ...

  8. oracle复杂的子查询,Oracle 子查询(复杂select语句)

    在执行数据操作时,如果某个操作需要依赖于另外一个 select语句的查询结果,那么就可以把 select 语句迁入到该操作语句中,这样就形成了一个子查询.实际应用中,表与表之间相互关联,相互依存,这样 ...

  9. Oracle子查询中含group by 和order by,排序字段为聚合列的别名+数值函数,外层count统计出错

    该问题猜测是个bug,19c版本执行结果正常,11g版本错误 建议:如果子查询中有group by 和order by,排序字段还需用数值函数处理,避免直接用别名 Oracle版本:11g 原始SQL ...

  10. pg、mysql、oracle子查询兼容性对比

    背景: 今天在查看mysql数据库一条语句的执行计划时,提示子查询需要加别名,于是对pg.oracle都做了一个测试,对比一下三种数据库的区别. 数据库版本: pg11.6.mysql5.7.29.o ...

最新文章

  1. 2020年,大火的Python和JavaScript是否会被取而代之?
  2. Flink SQL 在网易云音乐的产品化实践
  3. 《剑指offer》把二叉树打印成多行
  4. Ajax——php基础知识(二)
  5. 开源应用诊断利器 Arthas GitHub Star 突破两万
  6. c#winform演练 ktv项目 实现上一曲和下一曲的播放功能
  7. eclipse自动为变量生成Get/Set函数
  8. Patchwork Quilting(拼布和绗缝)
  9. cocos bubbles_像Messenger Bubbles这样的Android浮动小部件
  10. 「leetcode」104559:求树的最大深度
  11. 国产卫星高分四号(GF4)预处理(辐射定标)
  12. Atitit mybatis topic file list Total 300ge (9+条消息)MyBatis框架核心之(五)注解使用resultMap及多表查询 - 弱弱的猿 - CSD
  13. 生成PDF并上传到图片服务器
  14. c语言字符幂函数怎么编写,我如何自己编写幂函数?
  15. 计算机带不动移动硬盘,我笔记本的USB带不动移动硬盘,但另外一台电脑又可以,同样的盘盒,换一块硬盘又可以,...
  16. 支付宝之小鸡拍球游戏(C++)
  17. java json 长度限制_tomcat解决POST请求过长的限制
  18. Mac 移动硬盘突然自己异常退出了(一)
  19. js爬取:bili播放列表,右下角建立红底白字下载按钮,保存为csv格式到本地
  20. 0x01A686F0 处有未经处理的异常(在 五金上色软件.exe 中): 0xC000041D: 用户回调期间遇到未经处理的异常。。...

热门文章

  1. 一个硕士生导师到底可以带多少学生?
  2. 如何理解电商云仓出租?
  3. html和css[基础用法]
  4. 上期所SimNow使用指南
  5. Office365 - 如何在Android手机中reset OneDrive
  6. 数学分析思想方法第一期:计算或证明数列极限
  7. PMP考点即PMBOK知识点梳理
  8. YOLOV7开源代码讲解--训练参数解释
  9. ()、[]、{}、(())、[[]]等各种括号的使用
  10. 设计模式作业 — 3