子查询三(在FROM子句中使用子查询)
FROM子句中使用子查询一般都是返回多行多列,可以将其当作一张数据表
示例一、查询出每个部门的编号,名称,位置,部门人数,平均工资
SELECT d.deptno,d.dname,d.loc,temp.con,temp.avgsal
FROM dept d,(SELECT deptno dno,COUNT(empno) con,ROUND (AVG(sal),2) avgsal
FROM emp
GROUP BY deptno) temp
WHERE d.deptno=temp.dno;
示例二、查询出所有在部门SALES(销售部)工作的员工编号,姓名,基本工资,奖金,职位,入职日期,部门最高和最低工资
SELECT e.empno,e.ename,e.sal,e.comm,e.job,e.hiredate,e.deptno,temp.maxsal,temp.minsal
FROM emp e,(
SELECT deptno dno,MAX(sal) maxsal,MIN(sal) minsal
FROM emp
GROUP BY deptno
) temp
WHERE e.deptno=(SELECT deptno
FROM dept
WHERE dname='SALES')
AND e.deptno=temp.dno;
示例三、查询出所有工资高于公司平均工资的员工编号,姓名,基本工资,职位,入职日期,部门名称,位置,上级领导姓名,公司的工资等级,部门人数,平均工资,平均服务年限
SELECT e.empno,e.ename,e.job,e.hiredate,d.dname,d.loc,m.ename,s.grade,temp.avgsal,temp.avgyear
FROM emp e,dept d,emp m,salgrade s,(
SELECT deptno dno,COUNT(empno) con,ROUND (AVG(sal),2) avgsal,ROUND(AVG(months_between(SYSDATE,hiredate)/12),2) avgyear
FROM emp
GROUP BY deptno
) temp
WHERE e.sal>(SELECT AVG(sal)
FROM emp)
AND e.deptno=d.deptno
AND e.mgr=m.empno(+)
AND e.sal BETWEEN s.losal AND s.hisal
AND e.deptno=temp.dno;
示例四、列出工资比ALLEN或者CLARK多的所有员工的编号,姓名,基本工资,部门名称,领导姓名,部门人数
SELECT e.empno,e.ename,e.sal,d.dname,m.ename,temp.con
FROM emp e,dept d,emp m,(
SELECT deptno dno,COUNT(empno) con
FROM emp
GROUP BY deptno
)temp
WHERE e.sal>ANY(SELECT sal
FROM emp
WHERE ename IN('ALLEN','CLARK')
)
AND e.ename NOT IN ('ALLEN','CLARK')
AND e.deptno=d.deptno
AND e.mgr=m.empno(+)
AND e.deptno=temp.dno;
示例五、列出公司各个部门的经理(一个部门只有一个)的姓名,工资,部门名称,部门人数,部门平均工资
--列出公司各个部门的经理(一个部门只有一个)的姓名,工资,部门名称,部门人数,部门平均工资
SELECT e.ename,e.sal,d.dname,temp.con,temp.avgsal
FROM emp e,dept d,(
SELECT deptno dno,COUNT(empno) con,ROUND(AVG(sal),2) avgsal
FROM emp
GROUP BY deptno
)temp
WHERE e.job='MANAGER'
AND e.deptno=d.deptno(+)
AND e.deptno=temp.dno;
子查询三(在FROM子句中使用子查询)的更多相关文章
- 子查询四(在select子句中使用子查询)
示例一.查询出每个部门的编号,名称,位置,部门人数,平均工资 SELECT d.deptno,d.dname,d.loc, (SELECT COUNT(empno) FROM emp WHERE em ...
- 子查询二(在HAVING子句中使用子查询)
HAVING子句的主要功能是对分组后的数据进行过滤,如果子查询在HAVING中表示要进行分组过滤,一般返回单行单列的数据 示例一.查询部门编号,人数,平均工资,并且要求这些部门的平均工资高于公司的平均 ...
- SQL Fundamentals: 子查询 || WHERE,HAVING,FROM,SELECT子句中使用子查询,WITH子句
SQL Fundamentals || Oracle SQL语言 子查询(基础) 1.认识子查询 2.WHERE子句中使用子查询 3.在HAVING子句中使用子查询 4.在FROM子句中使用子查询 5 ...
- 在form子句中使用子查询时的注意事项
今天中午为了弄清这个问题,本人真的是头都搞大了!最后明白了一点,在from子句中使用子查询是,一定要将临时表的别名带上,否则会灰常痛苦!!!
- WHERE 子句中的标量子查询
标量子查询不仅可以用在SELECT 语句的列表中,它还可以用在WHERE 子句中,而且实际应用中子查询很多的时候都是用在WHERE子句中的. 先来看一个简单的例子,我们要检索喜欢“Story”的读者主 ...
- SQL-在Update中进行子查询和左联查询
以下总结源自后边的三个参考思索和测试而来: 我们有一张行政区划表,为了查询速度的优化,我们需要在这张表中,将每个乡镇的记录中写入其所属的省.市.县, 表如下: 当然,我们可以使用游标或在存储过程中使用 ...
- 子查询一(WHERE中的子查询)
子查询 子查询就是指的在一个完整的查询语句之中,嵌套若干个不同功能的小查询,从而一起完成复杂查询的一种编写形式,为了让读者更加清楚子查询的概念. 子查询返回结果子查询可以返回的数据类型一共分为四种: ...
- 详细讲述MySQL中的子查询操作 (来自脚本之家)
继续做以下的前期准备工作: 新建一个测试数据库TestDB: ? 1 create database TestDB; 创建测试表table1和table2: ? 1 2 3 4 5 6 7 8 9 1 ...
- 在update语句中使用子查询
在update 中的 where 子句中使用子查询: UPDATE mg_page_log as a SET page_num=1 WHERE id in( SELECT id from mg_ ...
随机推荐
- TensorFlow安装和HelloWorld
TensorFlow安装 TensorFlow可以在各种操作系统上面安装.安装的时候要注意TensorFlow的类型,一种是普通的版本,仅支持CPU,安装简单.另外一种类型带GPU的,可以利用GPU来 ...
- CGI 、PHP-CGI、FASTCGI、PHP-FPM
CGI是干嘛的? CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者.web server(比如说nginx)只是内容的分发者.比如,如果请求的是/index/ht ...
- Effective OC : 1-5
1,了解Objective-C语言的起源: OC为C语言的超集,为C加入了面向对象的特性. 要理解C中的指针和内存模型. 2.在类文件里尽量少引入其它头文件: 引入过多头文件.将借口暴露,添加耦合度. ...
- java的(PO,VO,TO,BO,DAO,POJO)解释1
java的(PO,VO,TO,BO,DAO,POJO)解释 O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定 ...
- BitmapFactory.Options.inSampleSize 的使用方法
BitmapFactory.decodeFile(imageFile); 用BitmapFactory解码一张图片时.有时会遇到该错误. 这往往是因为图片过大造成的. 要想正常使用,则须要分配更少的内 ...
- C#常使用的正则表达式
/// <summary> /// 是否为手机号码 /// </summary> /// <param name="value"></pa ...
- Git 学习(五)远程仓库
Git 学习(五)远程仓库 之前的章节所说的是本地Git仓库的操作,版本管理的优越性显然不会仅仅在本地.远程仓库也就是服务器或是网络端的仓库操作也是必须的. 本文具体说明 Git 的远程仓库操作,示例 ...
- OTL翻译(10) -- OTL的流缓冲池
OTL的流缓冲池 一般来讲,流一般作为一个局部的变量被使用,当使用完毕后就立刻关闭,如果需要再次使用就需要再次的声明变量,如此循环.OTL流的缓冲池(内存池)是一个解决以往的流性能低下的一个机制.当流 ...
- 支持5G-WiFi的安卓设备搜索不到5G信号解决方法
安卓设备必须获得root权限,然后修改 /system/etc/wifi/nvram_net.txt 文件, 将ccode = CN 改为 ccode = ALL.保存并重启即可. 三星EK-GC11 ...
- 细聊MySQL的分区功能
此篇主要介绍下MySQL的分区功能.我们分别从分区的概念.分区对于MySQL应用的优点.分区的类别及设置来和大家一起探讨下MySQL的分区. 什么是分区? MySQL在未启用分区功能时,数据库的单个表 ...