`
daxiong921
  • 浏览: 44808 次
  • 性别: Icon_minigender_1
  • 来自: 龙岩
社区版块
存档分类
最新评论

Oracle第四天学习笔记(连接查询题目)

阅读更多
1 有哪些人的工资,位于所有人平均工资之上?

2 按照部门进行分组之后,每个部门工资最高的人?

3 求每个部门平均薪水的薪水等级是多少?

解法一
 select e.deptno,e.avg_sal,grade from salgrade s
 join (select deptno,avg(sal) avg_sal from emp group by deptno) e
 on (e.avg_sal between s.losal and s.hisal);


解法二
select deptno,avg_sal,grade from
(select deptno,avg(sal) avg_sal from emp group by deptno) t
join salgrade s on (t.avg_sal between s.losal and s.hisal)


解法三
思路 : 先求出每个员工的薪水等级,再将薪水等级进行平均得出 部门平均薪水等级
select t.deptno,avg(t.grade) from
(select deptno,sal,grade from emp e
join salgrade s
on (e.sal between s.losal and s.hisal)) t
group by deptno

4 雇员中有哪些人是经理人
解法一
select distinct m.ename from emp m
join emp e
on (m.empno=e.mgr);


解法二
select ename from emp 
where empno = (select distinct mgr from emp);


5 不准用组函数,求薪水的最高值(面试题)
select sal from emp 
where empno not in
(select distinct e.empno from emp e
join emp ee on (e.sal<ee.sal))


思路 : 先使用查找出的名单是除了工资最高的那个员工外的其它所有员工。
select distinct e.empno from emp e
join emp ee on (e.sal<ee.sal)

再从emp查,查找其中一条记录的empno not in 上头这张表中,那么就是工资最高的那条记录了

6 求平均薪水最高的部门的部门编号
select deptno,avg(sal) avg_sal from emp
group by deptno 
having avg(sal)=(select max(avg_sal) max_sal from 
(select deptno,avg(sal) avg_sal from emp group by deptno))


另一种比较简便的方法,使用的组函数嵌套,注意哦,组函数嵌套最多只能套两层
  select deptno from emp
  group by deptno
  having avg(sal) =
    (select max(avg(sal)) from emp group by deptno)



7 求平均薪水最高的部门的部门名称
select dname from dept
where deptno = 
(select deptno from emp
group by deptno
having avg(sal) = 
   (select max(avg_sal) from 
      (select avg(sal) avg_sal from emp 
      group by deptno)
   )
)


使用组函数嵌套
select dname from dept
where deptno =
  (select deptno from emp
  group by deptno
  having avg(sal) =
    (select max(avg(sal)) from emp group by deptno)
  )

8 求平均薪水的等级最低的部门的部门名称
select d.deptno,d.dname,s.grade from dept d
join 
   (select deptno ,avg(sal) avg_sal from emp 
   group by deptno
   having avg(sal) =
     (
        select min(avg_sal) min_sal from
        (select avg(sal) avg_sal from emp group by deptno) 
     )
   ) t
on (t.deptno=d.deptno)
join 
   salgrade s 
on (t.avg_sal between s.losal and s.hisal)

使用组函数嵌套后
select d.deptno,d.dname,s.grade from dept d  
join   
   (select deptno ,avg(sal) avg_sal from emp   
   group by deptno  
   having avg(sal) =  
     (select min(avg(sal)) from emp group by deptno)  
   ) t  
on (t.deptno=d.deptno)  
join   
   salgrade s   
on (t.avg_sal between s.losal and s.hisal)

9 求部门经理人中平均薪水最低的部门名称

10 求比普通员工的最高薪水还要高的经理人名称

11 求薪水最高的前5名雇员

12 求薪水最高的第6到第10名雇员
分享到:
评论

相关推荐

    Oracle 培训+题目+笔记.rar

    了解这些组件的作用和相互关系是学习Oracle的第一步。 2. **SQL语言**: SQL(Structured Query Language)是与Oracle交互的主要工具,包括数据查询、插入、更新、删除以及创建和管理数据库对象等操作。熟练掌握SQL...

    oracle OCM 12c考试经验分享和题目分析

    第一天上午的第一门考试是"General Database and Network Administration",时长120分钟,涵盖大约10个大题,难度相对较高,不涉及脚本建库。主要知识点包括: 1. **PDB的创建与管理**:这包括从现有的PDB、PDBSEED...

    数据库学习笔记 数据库资料 数据库题目 数据库面试

    - 第一条语句设置了一个查询的执行计划,并将其保存到 `PLAN_TABLE` 中,这里使用了 `STATEMENT_ID` 来标识这个查询。 - 第二条语句从 `PLAN_TABLE` 中取出刚才保存的执行计划并展示出来。 #### 方法二:在 SQL*...

    (完整word版)ORACLE数据库期末考试题目及答案.docx

    - **查询优化**:通过对SQL查询进行调整,如选择合适的连接方式、使用合适的索引等方法来提高查询效率。 #### 4. 安全性与备份恢复 - **安全性**:包括用户身份验证、权限管理等措施,确保只有授权用户才能访问数据...

    ACCP4.0 Y2 oracle 学生用书源代码

    【标签】中的"ACCP4.0"代表了这个课程体系的第四个版本,通常课程内容会随着技术的发展而更新,确保学生能够学习到最新的技术。"oracle"强调了课程的核心内容,即Oracle数据库的学习。"Y2"表示这是针对第二学年的...

    学习笔记.txt

    Oracle数据库通过其PL/SQL(Procedural Language for SQL)环境提供了丰富的正则表达式支持功能,`REGEXP_REPLACE`就是其中一个非常实用的功能。 #### 1. `REGEXP_REPLACE`函数简介 `REGEXP_REPLACE`函数用于在...

    Oracle Certified Professional Java SE 8 Programmer Exam 1Z0-809

    5. **SQL与JDBC**:使用JDBC连接数据库并执行SQL查询。 6. **线程与并发**:理解Java中的线程模型,以及如何实现并发控制。 7. **Lambda表达式与Stream API**:学习Java 8引入的新特性Lambda表达式及其相关的Stream ...

    数据库复习笔记及mooc上的题库

    常见的数据库管理系统(DBMS)如MySQL、Oracle、SQL Server和MongoDB等,它们支持SQL(结构化查询语言),用于与数据库交互。 在笔记中,你可能会看到关于关系型数据库的内容,这是最常见的一种数据库模型。关系型...

    hnust 2022年数据库笔记

    在湖南科技大学2022年大二下学期的数据库课程中,学生们深入学习了这一关键技能。这些笔记涵盖了数据库的基础概念、设计原理以及实际应用。 一、数据库基础 1. 数据与数据库:数据是描述事物的符号记录,而数据库是...

    19个JAVA学习的资料,包括电子书,练习题!

    5. **Thinking_in_java中文第4版%28Word完全版%29.doc**: 《Thinking in Java》是一本经典的学习书籍,第四版可能包含了Java的基础、高级特性、并发编程等内容,适合深入学习。 6. **Java学习笔记.doc**: 这可能是...

    Java+数据库笔试和学习整理

    这些文件很可能包含了丰富的面试题目、学习笔记和实践问题,旨在帮助用户提升在这两个领域的知识和技能。 首先,让我们关注Java部分。Java是一种广泛使用的面向对象的编程语言,它的特性包括平台独立性、安全性、高...

    Java和.net的笔记

    首先,Java是一种跨平台的面向对象编程语言,由Sun Microsystems(现属Oracle公司)开发。JDK(Java Development Kit)是开发和运行Java应用程序的基础,它包含Java编译器、Java运行环境(JRE)、调试工具和其他实用...

    JAVA1达内代码.zip

    【标题】"JAVA1达内代码.zip"是一个包含达内教育内部Java编程代码的压缩文件。这个文件集合可能包括了达内在教授Java...此外,实战题目和面试题目的存在使得学习更具针对性,能够帮助准备面试或者提升实际工作能力。

    毕业设计任务书模板(New)

    参考文献涉及数据库原理、数据库系统设计、SQL Server和Oracle编程、JSP程序设计、项目评审系统实例以及数据库设计与开发等多个方面,为学生提供了丰富的学习资源。 提交成果: 1. 毕业设计说明书:包括摘要、...

    北大青鸟S1项目实战

    【指导学习1】和【指导学习2】可能是课程的配套资料,包括教程文档、代码示例、学习笔记等,帮助学员更好地理解和完成项目。这些资源会详细解释上述技术的使用方法,提供实践步骤和解决问题的思路。 总的来说,这个...

    细心整理的50道mysql常见高频面试题-需要的小伙伴可以自测学习一下

    题目预览: 1、一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 ? 2、Mysql的技术特点是什么? Mysql数据库软件是一个...

    NIIT J2EE考试

    【描述】提到的“NIIT J2EE模块截图”可能是指学员在学习过程中拍摄的教学材料,如幻灯片、笔记或者练习题目的截图,这些截图可能包含了J2EE的核心概念、架构、开发工具以及最佳实践等内容。这些资料对于学习者而言...

    java资料

    7. "biji":这个词可能是“笔记”的拼音,可能包含了学习过程中的个人笔记或教学要点。 8. "line":这个文件名比较模糊,可能是一个特定的编程问题或概念的说明,也可能是指代码的排列和结构。 综合以上信息,这个...

Global site tag (gtag.js) - Google Analytics