Oracle面试题整理二(10级学员 乔宇整理)

1.查询工资最高的3 名员工信息

select * from (select * from emp order by sal desc) where rownum <= 3;

分析我们先按照这个表中的工资降序排列,然后使用伪列也就是这个rownum来取前三个

2. 按工资进行排名,排名从1 开始,工资相同排名相同(如果两人并列第1 则没有第2 名,从第

三名继续排)

select rank() over(order by sal) from emp;

分析,其中用到一个rank() over的函数,自己在网上查一下就知道了,很简单的!

3. 求入职日期相同的(年月日相同)的员工

select * from emp e where (select count(*) from emp where e.hiredate=hiredate)>1;

4. 查询每个部门的最高工资

select deptno,max(sal) maxsal from emp group by deptno order by deptno;

分析这个没有什么要说的了,只要会分组就会了

5. 查询每个部门,每种职位的最高工资

分析这个和18一样的了

6. 查询每个员工的信息及工资级别(用到表Salgrade)

select * from salgrade;

select e.*,sg.grade from emp e,salgrade sg where sal between losal and hisal;

这个题目就是考察你的基础呢?呵呵很简单的

7. 查询工资最高的第6-10 名员工

select * from (

(select * from emp order by sal desc) e

where rownum <=10)

where rn > 5;

这个题目很有意思的啊,好好的分析一下

我们首先查询里面的 select * from emp order by sal desc就是按照降序查询,然后查出来伪列小于10的所有记录,然后我们在查询一次再找出记录大于五的,我们就知道了.

8. 查询各部门工资最高的员工信息

select * from emp e where e.sal = (select max(sal) from emp where (deptno = e.deptno));

首先查出来每个部分工资最高的然后根据序号对应得出各个部门的工资最高的员工信息

9.查询每个部门工资最高的前2 名员工

select rank() over (partition by deptno order by sal desc) rank,e.* from emp e

) where rank < 3;

这里解释一下,我们先用rank() over这个函数按照部门分组其中的工资降序,然后找到每个部门前两个就是了

10.查询出有3 个以上下属的员工信息

select * from emp e where

(select count(*) from emp where e.empno = mgr) > 2;

函数统计每个下属的个数,然后看大于2的即可

11. 查询所有大于本部门平均工资的员工信息()

select * from emp e where sal >

(select avg(sal) from emp where (deptno = e.deptno))

order by deptno;

12. 查询平均工资最高的部门信息

select d.*,avgsal from dept d,(select avg(sal) avgsal,deptno from emp group by deptno) se

where avgsal = (select max(avg(sal)) from emp group by deptno) and d.deptno = se.deptno;

分析:

步骤1:求每个部门的平均工资:

select avg(sal) avgsal,deptno from emp group by deptno;

步骤2:求最高的平均工资:

select max(avg(sal)) from emp group by deptno;

步骤3:求平均工资最高的部门信息,连接步骤1 产生的临时表与真实表dept:

select d.*,160)">where avgsal = (select max(avg(sal)) from emp group by deptno) and d.deptno = se.deptno;

13.查询大于各部门总工资的平均值的部门信息

where sumsal >(select avg(sum(sal)) from emp group by deptno) and se.deptno = d.deptno;

分析:

步骤1:求每个部门总工资

select sum(sal) sumsal,160)">步骤2:求每总工资平均值

select avg(sum(sal)) from emp group by deptno;

步骤3:求大于总工资平均值的部门信息,连接步骤1 产生的临时表与真实表dept:

where sumsal >(select avg(sum(sal)) from emp group by deptno) and se.deptno = d.deptno;

14. 查询大于各部门总工资的平均值的部门下的员工信息(考察知识点:子查询,组函数,连接

where sumsal >(select avg(sum(sal)) from emp group by deptno) and se.deptno = e.deptno;

这个题目呢,我们分析的时候是这样的,我们查找出来每个部门的总工资的平均工资,然后再查找出来每个部门的总工资,比较一下,然后根据部门号相等,就能算出来了

15. 查询没有员工的部门信息

select d.* from dept d left join emp e on (e.deptno = d.deptno) where empno is null;

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

oracle中部门工资降序排列,oracle面试题整理二(10级学员 乔宇整理)相关推荐

  1. c语言找出最大值和最小值并按降序排输出,C语言用排序法给十个数降序排列,用C语言编写,输入10个数按降序排列...

    问题标题 C语言用排序法给十个数降序排列,用C语言编写,输入10个数按降序排列 2019-6-4来自ip:14.161.145.86的网友咨询 浏览量:562 手机版 问题补充: C语言用排序法给十个 ...

  2. mysql中grade字段降序排列_mysql高级查询

    [聚合函数] 统计记录的条数 select count(*) from 表名; 求某个字段所有值的总和 select sum(字段名) from 表名; 求某个字段所有值的平均值 select avg ...

  3. mysql按课程报名人数排序_sql 语句排序 在查询结果中按人数降序排列,若人数相同,则按课程号升序排列?...

    展开全部 代码如下: select xuehao as 学号,score as 总成绩 from CJBwhere xuehao in( select xuehao from XSB) group b ...

  4. mysql按专业人数升序查询_sql 语句排序 在查询结果中按人数降序排列,若人数相同,则按课程号升序排列?...

    代码如下: select xuehao as 学号,score as 总成绩 from CJBwhere xuehao in( select xuehao from XSB) group by xue ...

  5. oracle 查询 降序排列,Oracle 子查询,按降序排列,取前n条

    比如,有一个student 表: id             student_name 1                                  s1 2                 ...

  6. Java中对数组降序排列

    Integer[] arry = {2,6,3,7,8,5,9};/*底层原理利用插入排序+二分查找算法进行排序默认把0索引的数据当作是有序序列,1索引到最后认为是无序的遍历无序的序列得到里面的每一个 ...

  7. oracle工资在3000到5000,Oracle查询部门工资最高员工的两种方法 1、MAX()函数 2、RANK()函数...

    本文以SCOTT用户下初始的EMP表为参考.代码可直接使用. 查询EMP表结构的语句如下,[代码1]: DESC EMP; EMP表结构如下:[结果1]: SQL> DESC EMP; 名称 是 ...

  8. Oracle查询部门工资最高员工的两种方法 1、MAX()函数 2、RANK()函数

      本文以SCOTT用户下初始的EMP表为参考.代码可直接使用.   查询EMP表结构的语句如下,[代码1]: DESC EMP;   EMP表结构如下:[结果1]: SQL> DESC EMP ...

  9. python降序排列说true不存在_Python数据类型串讲(中)

    1.序列 1.1 序列简介 所谓序列,即元素的有序排列.序列中每个位置的元素都有其对应的唯一编号,也就是说我们可以通过元素的位置标识,去搜索到该元素.python中的内建序列有6种:列表.元祖.字符串 ...

最新文章

  1. Windows server 2012 AD架构 试验 系列22 -ADAC与PowerShell History
  2. vbs复制自己到tmp目录
  3. windows 环境 docker踩坑
  4. 查看hive中某个表中的数据、表结构及所在路径
  5. 为何解析浏览器地址参数会为null_request 包中出现 DNS 解析超时的探究
  6. oracle运行环境配置,oracle 环境配置开机自启动
  7. java工程怎么构造成moven_将普通java工程结构改为由maven管理的工程结构域
  8. kadane算法_使用KADANE的算法求最大子阵列和
  9. salesforce php,具有自动登录功能的Salesforce php REST API
  10. 前端虚拟列表的实现原理
  11. php拖拽上传大文件,如何实现文件拖拽上传
  12. navicat中看sql执行计划
  13. 清华大学计算机学院教授简介,清华大学计算机科学与技术系导师教师师资介绍简介-王继龙...
  14. serv-u and hway3.0
  15. 建站手册-网站构建:万维网联盟(World Wide Web Consortium)
  16. 北邮计算机学院专业分析,2019-2021北京邮电大学考研数据分析
  17. Tapd+腾讯工蜂+Jenkins持续部署
  18. 什么是扇入?什么是扇出?
  19. SQLyog数据库列表(对象浏览器)字体大小设置方法,不是普通字体大小设置
  20. 计算机蓝屏故障,计算机蓝屏的故障原因以及解决方法

热门文章

  1. SRAM种类、产家、种类简介
  2. python函数测试_python绘制评估优化算法性能的测试函数
  3. wps如何自己制作流程图_wps怎么制作流程图【搞定教程】
  4. 关于【天池精准医疗大赛——人工智能辅助糖尿病遗传风险预测】的思考
  5. 迅为iTop4412精英板运行QT程序触摸/鼠标失灵
  6. angularJS中localstorage,利用localstorage来实现其他页面获取本地缓存
  7. 随手记录系列-伯克森悖论-李永乐谈学习-辛普森悖论
  8. 阿里ODPS降低大数据应用门槛
  9. Flash鼠绘入门第四课:绘制漂亮的梅花
  10. 源码软件版本Release RC Beta说明