如题:

查询出部门名称、部门的员工数、部门的平均工资、部门的最低收入雇员姓名和最高收入雇员的姓名

这是oracle的默认Scott用户下面的emp 和 dept 表间的一道思考题。

雇员表(emp)

记录了每个雇员的基本信息

NO  字段         类型            描述

1     empno       Number(4)    雇员编号

2     ename       Varchar2(10)      雇员姓名

3     job         Varchar2(9)     工作职位

4     mgr       Number(4)           雇员的领导(经理)编号

5     hierdate      date          入职日期

6     sal          Number(7,2)    月薪/工资

7     comm        Number(7,2)    奖金

8     deptno        Number(2)      雇员所属部门的编号

部门表(emp)

记录了每个部门的基本信息

NO  字段       类型             描述

1     deptno     Number(2)       部门编号(唯一)

2     dname     Varchar2(14)     部门名称

3     loc       Varchar2(13)     地址

分析:要查询出部门的员工数,平均工资,最低收入雇员姓名和最高收入雇员姓名,必须先知道部门的最高收入和最低收入

第一步:查询出部门名称,部门员工数,部门平均工资,部门最低收入和最高收入

[sql] view plain copy
  1. select deptno, count(*), avg(sal), min(sal), max(sal) from emp group by deptno;

第二步:查询最低收入者的姓名

[sql] view plain copy
  1. select e.ename
  2. from emp e, (select deptno, count(*), avg(sal), min(sal) min_sal, max(sal) max_sal from emp group by deptno) t
  3. where e.deptno = e.deptno
  4. and (e.sal = min_sal);

同理,也可以查询最高收入者的姓名

[sql] view plain copy
  1. select e.ename
  2. from emp e, (select deptno, count(*), avg(sal), min(sal) min_sal, max(sal) max_sal from emp group by deptno) t
  3. where e.deptno = e.deptno
  4. and (e.sal = max_sal);


那如何同时查询最低收入者和最高收入者的姓名呢?

第三步:给第一次查询出来的部门最高收入和最低收入同时关联两张emp 表,分别获取最高收入者和最高收入者的姓名

[sql] view plain copy
  1. select d.dname, t.nu, t.avg_sal, t.min_sal, t.max_sal, e.ename, s.ename
  2. from dept d, emp e, emp s ,
  3. (select deptno, count(*) nu, avg(sal) avg_sal, min(sal) min_sal, max(sal) max_sal from emp group by deptno) t
  4. where d.deptno = t.deptno
  5. and (e.deptno = t.deptno and e.sal = t.min_sal)
  6. and (s.deptno = t.deptno and s.sal = t.max_sal);

查询出部门名称、部门的员工数、部门的平均工资、部门的最低收入雇员姓名和最高收入雇员的姓名相关推荐

  1. MySQL查询出2门及2门以上不及格者的平均成绩

    CREATE TABLE `result` (`name` varchar(20) default NULL,`subject` varchar(20) default NULL,`score` ti ...

  2. 查询出每个部门比本部门平均工资高的职工人数

    这句话,我裂开了. 部门表dept如下: 员工表emp如下: 我感觉有两种理解. 1.找出部门内,工资高于平均工资的员工数 with temp(avg_sal,deptno) as (select a ...

  3. 假设一个公司的医疗保健数据库有如下 3 个关系: 职工(职工号,姓名,性别,职务,家庭地址,部门编号) 部门(部门编号,部门名称,办公地址,电话) 保健(保健卡编号,职工号,检查身体日期,健

    假设一个公司的医疗保健数据库有如下 3 个关系: 职工(职工号,姓名,性别,职务,家庭地址,部门编号) 部门(部门编号,部门名称,办公地址,电话) 保健(保健卡编号,职工号,检查身体日期,健康状况) ...

  4. 6、取得平均薪水最高的部门的部门名称【bjpowernode34道SQL题】

    6.取得平均薪水最高的部门的部门名称 一.题目 二.思路 一.题目 取得平均薪水最高的部门的部门名称 二.思路 先取取得平均薪水最高的部门的部门编号 SELECTe.DEPTNO,AVG(e.SAL) ...

  5. 查询平均工资最低的部门信息

    employees 表数据 departments表数据 查询平均工资最低的部门信息 SELECT #6d.* FROM #1employees e INNER JOIN #2departments ...

  6. sql语句-平均工资-员工工资

    表创建: 员工表: DROP TABLE IF EXISTS `employee`;     CREATE TABLE `employee` (           `emp_id` int(11) ...

  7. 重庆2019java工资_8020元/月!2019重庆最新平均工资出炉!你被平均了吗?

    原标题:8020元/月!2019重庆最新平均工资出炉!你被平均了吗? 重庆是西部唯一的直辖市和长江上游地区的经济.金融.科创.航运和商贸物流的中心城市.近年来随着经济的快速增长,西部各城市越来越多的年 ...

  8. 2020年平均工资出炉 IT行业超17万居首

    2020年平均工资数据出炉. 在疫情冲击下,平均工资的增速回落至多年较低水平,但是仍然保持增长. 其中,城镇非私营单位平均工资超9.7万元:程序员还是最吃香,IT业年平均工资超17万元居首. 非私营单 ...

  9. 2016北京php工资,29省份2016年平均工资出炉 北京居首

    资料图.刘勤利 摄 图片来源:CFP 视觉中国 原标题:29 省 2016 年平均工资出炉 北京居首河南垫底 目前,除西藏.黑龙江 2 地外,其余 29 省份均已公布 2016 年平均工资数据.与 2 ...

  10. mysql查询平均工资最低的部门_查询出部门名称、部门的员工数、部门的平均工资、部门的最低收入雇员姓名和最高收入雇员的姓名...

    如题: 查询出部门名称.部门的员工数.部门的平均工资.部门的最低收入雇员姓名和最高收入雇员的姓名 这是oracle的默认Scott用户以下的emp 和 dept 表间的一道思考题. 雇员表(emp) ...

最新文章

  1. 【EMC】EMC屏蔽设计
  2. 又一年5.20,用Python助力程序员脱单大攻略(视频版)
  3. 紧跟大佬的步伐:关于我亲自动手复现了恺明新作MAE这件事
  4. 【转】SQL SERVER函数无法执行对数据库的修改语句
  5. GSS-API GSSAPI 介绍 通用的安全机制
  6. JS动态加载脚本及对动态脚本内方法的调用
  7. 怎么写显示商品图片_shopee商品描述怎么写,shopee商品排名靠前的是
  8. C#使用webclient下载图片返回403forbiden
  9. 【推荐系统】电影推荐系统(二)
  10. adb命令刷机vivox20_求救VIVO X20的 ROOT可行的方法。
  11. 操作分布式文件之一:如何搭建配置FttpAdapter环境
  12. 深度学习----GAN(生成对抗神经网络)原理解析
  13. Java8 CompletableFuture(2)回调函数 thenApply thenAccept thenRun
  14. Only variable references should be returned by reference
  15. 原生安卓开发!最详细的解释小白也能听懂,全网独家首发!
  16. 最常见的管理误区,你中招了吗?
  17. 《设计模式》(博客园精华集)
  18. 41. 如何手动触发全量回收垃圾,如何立即触发垃圾回收
  19. 使用GUID分区表(GPT)的笔记本硬盘做移动硬盘,windowsXP系统不识别的问题
  20. 简单操作拥有Win7/XP双系统

热门文章

  1. vs2019写html网页视频,最新Visual Studio 2019基础使用图文视频教程
  2. c语言iota怎么用,IOTA(埃欧塔)钱包使用教程
  3. 【错误记录】Flutter 编译报错 ( The parameter ‘‘ can‘t have a value of ‘null‘ because of its type, but the im )
  4. C语言例题理解(小写字母转换成大写字母,兔子生兔子问题,求100以内勾股数,整数逆序输出)
  5. Uva1665岛屿——并查集
  6. 计算机功能清单,如何使用印象笔记的清单功能?清单快速上手教程
  7. c语言mon什么意思,c'mon是什么意思啊 – 手机爱问
  8. 平方度用计算机打出来,角度计算器-角度计算器
  9. 腾讯会议共享屏幕播放PPT的时候可以实现只能在自己电脑上可以看到PPT的备注么?
  10. 【基础知识】HTML5 Canvas小项目时钟的简单实现(图文、演示)