子查询四(在select子句中使用子查询)
示例一、查询出每个部门的编号,名称,位置,部门人数,平均工资
SELECT d.deptno,d.dname,d.loc,
(SELECT COUNT(empno) FROM emp WHERE emp.deptno=d.deptno GROUP BY deptno) con,
(SELECT AVG(sal) FROM emp WHERE emp.deptno=d.deptno GROUP BY deptno) avgsal
FROM dept d
WITH 子句
示例二、使用with子句将emp表中的数据定义为临时表
WITH e AS(
SELECT * FROM emp)
SELECT * FROM e;
示例三、查询每个部门的编号,名称,位置,部门平均工资,人数
--查询每个部门的编号,名称,位置,部门平均工资,人数
WITH e AS(
SELECT deptno dno,ROUND(AVG(sal),2) avgsal,COUNT(empno) con
FROM emp
GROUP BY deptno
)
SELECT d.deptno,d.dname,d.loc,e.avgsal,e.con
FROM dept d,e
WHERE d.deptno=e.dno(+);
示例四、查询每个部门工资最高的员工编号,姓名,职位,入职日期,工资,部门编号,部门名称,显示结果按部门编号进行排序
WITH e AS(
SELECT deptno dno,MAX(sal) maxsal
FROM emp
GROUP BY deptno
)
SELECT em.ename,em.job,em.hiredate,em.sal,d.deptno,d.dname
FROM emp em,dept d,e
WHERE em.deptno=e.dno
AND em.sal=e.maxsal
AND d.deptno=e.dno
ORDER BY em.deptno;
子查询四(在select子句中使用子查询)的更多相关文章
- SQL Fundamentals: 子查询 || WHERE,HAVING,FROM,SELECT子句中使用子查询,WITH子句
		
SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...
 - 子查询三(在FROM子句中使用子查询)
		
FROM子句中使用子查询一般都是返回多行多列,可以将其当作一张数据表 示例一.查询出每个部门的编号,名称,位置,部门人数,平均工资 SELECT d.deptno,d.dname,d.loc,temp ...
 - 子查询二(在HAVING子句中使用子查询)
		
HAVING子句的主要功能是对分组后的数据进行过滤,如果子查询在HAVING中表示要进行分组过滤,一般返回单行单列的数据 示例一.查询部门编号,人数,平均工资,并且要求这些部门的平均工资高于公司的平均 ...
 - 在form子句中使用子查询时的注意事项
		
今天中午为了弄清这个问题,本人真的是头都搞大了!最后明白了一点,在from子句中使用子查询是,一定要将临时表的别名带上,否则会灰常痛苦!!!
 - oracle SELECT子句中避免使用 ‘ * ‘
		
当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 ‘*’ 是一个方便的方法. 不幸的是,这是一个非常低效的方法. 实际上,ORACLE在解析的过程中, 会将’*’ 依次转换成所 ...
 - 【MYSQL】update/delete/select语句中的子查询
		
update或delete语句里含有子查询时,子查询里的表不能在update或是delete语句中,如含有运行时会报错:但select语句里含有子查询时,子查询里的表可以在select语句中. 如:把 ...
 - select子句和三种子查询
		
一.select子句 五种子句 Where.group by.having.order by.limit Where.group by.having.order by.limit运用的这个顺序不能变 ...
 - select语句中会影响查询效率的因素
		
1.没有创建索引,或者没有正确使用索引;2.存在死锁的情况,从而导致select语句挂起; 3.返回不必要的列,如很多人喜欢在程序中使用select * from 这样会查询表或视图中的所有字段,如果 ...
 - WHERE 子句中的标量子查询
		
标量子查询不仅可以用在SELECT 语句的列表中,它还可以用在WHERE 子句中,而且实际应用中子查询很多的时候都是用在WHERE子句中的. 先来看一个简单的例子,我们要检索喜欢“Story”的读者主 ...
 
随机推荐
- Hihocoder #1082 : 然而沼跃鱼早就看穿了一切 暴力
			
时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽所有句子中的沼跃鱼(“marshtomp”,不区 ...
 - XDM、GDM和KDM
			
XDM.GDM.KDM是三种X Window的显示管理器 (1)XDM(默认的X Window System Display Manager)(2)GDM(gnome提供的Display Manage ...
 - [asp.net web api] HttpStatusCode的使用
			
摘要 在开放api的时,我们需要返回不同的状态给调用方,以告诉它们当前请求的结果,是成功了还是失败了.当然这种给调用方的反馈有很多种做法,这里就说是web api内置的对Http状态码.http状态码 ...
 - QDAC
			
QDAC GITHUB: svn://www.qdac.cc/QDAC3 包括QMsgPack\QJson\QWoker...等序列和事件调度控件.
 - 【spring cloud】spring cloud Sleuth 和Zipkin 进行分布式链路跟踪
			
spring cloud 分布式微服务架构下,所有请求都去找网关,对外返回也是统一的结果,或者成功,或者失败. 但是如果失败,那分布式系统之间的服务调用可能非常复杂,那么要定位到发生错误的具体位置,就 ...
 - ConcurrentBag扩展 批量加入
			
public static void AddRange<T>(this ConcurrentBag<T> @this, IEnumerable<T> toAdd) ...
 - .NET:如何让线程支持超时?
			
背景 本文是为了回复博客园一个兄弟的问题,主要回答两个问题: 如何让线程支持超时? 如何让线程在执行结束后销毁? MS 现在不推荐使用低级别的 Thread 编程,而推荐使用 Task,另外我多数情况 ...
 - appium+python自动化53-adb logcat查看日志
			
前言 做app测试,遇到异常情况,查看日志是必不可少的,日志如何输出到手机sdcard和电脑的目录呢?这就需要用logcat输出日志了 以下操作是基于windows平台的操作:adb logcat | ...
 - go语言  defer 高级
			
go语言defer语句的用法 defer的语法 defer后面必须是函数调用语句,不能是其他语句,否则编译器会出错. package main import "log" func ...
 - [Android Pro]   控制硬加速 hardwareAccelerated 在3.0才有的
			
从Android3.0 (API level11)开始,Android的2D显示管道被被设计得更加支持硬加速了.硬加速使用GPU承担了所有在View的canvas上执行的绘制操作. 启用硬加速最简单的 ...