`
Longmanfei
  • 浏览: 48058 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle 试题分析(十七)

阅读更多

01. 查询各个部门的平均工资

SQL> select deptno as "部门编号",sum(sal)/count(sal) as "部门平均工资" from emp group by deptno;

SQL> select deptno as "部门编号",avg(nvl(sal,0)) as "部门平均工资" from emp group by deptno;

02. 显示各种职位的最低工资

SQL> select job as "职位",min(sal) from emp group by job;

03. 按照入职日期由新到旧排列员工信息

SQL> select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp order by hiredate desc;

04. 查询员工的基本信息,附加其上级的姓名

SQL>select a.empno,a.ename,a.job,a.mgr,a.hiredate,a.sal,a.comm,a.deptno,(select b.ename from emp b where a.mgr=b.empno) as "我的boss" from emp a order by a.empno;

05. 显示工资比'ALLEN'高的所有员工的姓名和工资

SQL> select a.ename,a.sal from emp a where sal>(select b.sal from emp b where b.ename='ALLEN');

06. 显示与'SCOTT'从事相同工作的员工的详细信息

SQL> select  a.empno,a.ename,a.job,a.mgr,a.hiredate,a.sal,a.comm,a.deptno from emp a where a.job=(select b.job from emp b where b.ename='SCOTT');

07. 显示销售部('SALES')员工的姓名

SQL> select a.ename as "销售部旗下员工的姓名" from emp a where a.deptno=(select b.deptno from dept b where b.dname='SALES');

08. 显示与30 号部门'MARTIN'员工工资相同的员工的姓名和工资

SQL> select a.ename,a.sal from emp a where a.sal=(select b.sal from emp b where b.deptno=30 and b.ename='MARTIN');

09. 查询所有工资高于平均工资(平均工资包括所有员工)的销售人员('SALESMAN')

SQL> select * from emp where sal<(select avg(nvl(sal,0)) from emp) and job='SALESMAN';

10. 显示所有职员的姓名及其所在部门的名称和工资

SQL> select a.*,b.dname from emp a left join dept b on a.deptno=b.deptno ;

11. 查询在研发部('RESEARCH')工作员工的编号,姓名,工作部门,工作所在地

SQL> select a.empno,a.ename,a.deptno,b.loc from emp a left join dept b on b.dname='RESEARCH';

12. 查询各个部门的名称和员工人数

SQL> select b.deptno as "部门号",b.dname as " 部门名称",(select count(*) from emp a where a.deptno=b.deptno ) as "部门人数" from dept b group by (b.deptno,b.dname);

13. 查询各个职位员工工资大于平均工资(平均工资包括所有员工)的人数和员工职位

SQL>  select job,count(*) as "员工人数" from emp where sal>(select avg(nvl(sal,0)) from emp) group by job;

14. 查询工资相同的员工的工资和姓名

SQL> select a.ename,a.sal from emp a where a.sal=(select b.sal from emp b where b.empno!=a.empno and b.sal=a.sal);

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

SQL> select * from (select * from emp b order by b.sal desc) where rownum between 0 and 3;

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

三名继续排)

SQL> select a.*,RANK () over(ORDER BY nvl(sal,0) DESC) as "名次" from emp a;

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

SQL> select * from emp a where a.hiredate=(select b.hiredate from emp b where b.hiredate=a.hiredate and b.empno!=a.empno);

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

SQL> select deptno,max(sal) from emp group by deptno;

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

SQL> select distinct(a.job),a.deptno,(select max(b.sal) from emp b where a.deptno=b.deptno and a.job=b.job) from emp a;

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

SQL> select a.*,b.grade from emp a join salgrade b on a.sal between b.losal and b.hisal;

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

SQL> select a.* from (select b.*,rownum rown from (select c.*,rownum from emp c where rownum<=10 order by c.sal desc )  b ) a  where a.rown>5;

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

SQL> select c.*,b.sal "每部门最高工资" from (select deptno,max(sal) sal from emp group by deptno) b join emp c on c.deptno=b.deptno and c.sal=b.sal;

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

SQL>  select a.* from ( select b.*,rank() over(PARTITION BY deptno ORDER BY nvl(sal,0) DESC) mc from emp b) a where a.mc<3;

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

SQL> select * from (select a.empno,a.ename,a.deptno,count(*) cu from emp a join emp b on a.empno=b.mgr group by (a.empno,a.ename,a.deptno)) c  where c.cu>2;

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

SQL> select * from emp a  where a.sal>(select avg(nvl(c.sal,0)) from emp c where c.deptno=a.deptno)

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

SQL> select * from dept d join (select b.dp sp,rank() over(order by b.ss desc) cc from (select deptno dp,avg(nvl(sal,0)) ss from emp group by deptno) b) c on d.deptno=c.sp where c.cc=1;

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

SQL> select * from dept d where d.deptno in (select a.deptno from emp a join (select avg(sal) ss from emp ) b on a.sal>b.ss);

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

查询)

SQL> select * from emp a join (select avg(sal) ss from emp ) b on a.sal>b.ss;

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

SQL>  select d.* from emp a right join dept d on a.deptno=d.deptno where a.deptno is null;

30. 查询用户(users 表)huxz 所下所有订单编号,下单日期,总价格(orders 表),并包括订

单中的商品数量(orderitem 表),名称(product 表),价格(product 表)

SQL> select os.orderid,os.orderdate,os.totalprice,pm.qty ,pt.price from users us join orders os on us.username='huxz' and us.username=os.username join orderitem pm on os.orderid=pm.orderid join product pt on pt.productid=pm.productid;

31. 查询100001 号商品被哪些顾客(users 表)购买过,下单日期(orders 表),每人购买的数

量(orderitem 表),购买时的价格(product 表)

SQL>select os.username,os.orderdate,om.qty,pt.price from orders os join orderitem om on os.orderid=om.orderid and om.productid='100001' join product pt on om.productid=pt.productid;

32. 查询出哪些商品从未被订购过

SQL>select pt.* from orderitem om right join product pt on pt.productid=om.productid and om.orderitemid is null;

33. 查询出被订购过2 次以上的商品信息

SQL> select * from product pt join (select om.productid ids,count(om.productid) oid from orderitem om group by om.productid) bb on bb.ids=pt.productid where bb.oid>=2;

<!--EndFragment-->
1
1
分享到:
评论

相关推荐

    Oracle试题及答案

    ### Oracle试题及答案知识点解析 #### 1. SGA内存区 - **题目解析**:在Oracle数据库中,系统全局区(System Global Area, SGA)是数据库实例启动时分配的一块共享内存区域,用于存储数据库的数据和控制信息。SGA包括...

    Oracle OCP试题分析

    通过以上对Oracle OCP SQL试题分析的详细讲解,备考者可以有针对性地复习和准备,提升自己的SQL技能,为顺利通过Oracle OCP认证打下坚实基础。在实际工作中,这些知识也将帮助你更好地管理和优化Oracle数据库。

    公司的Oracle试题

    【Oracle试题解析】 Oracle,作为全球最广泛应用的关系型数据库管理系统之一,其试题涵盖了数据库管理、SQL语言、性能优化、安全性等多个方面。以下是对这些知识点的详细解析: 1. **数据库管理**:这部分试题可能...

    ORACLE试题-4合一A

    这份"ORACLE试题-4合一A"包含了8套综合性的试题,旨在帮助学习者全面理解和掌握Oracle数据库的相关知识,提高应对相关考试的能力。下面,我们将深入探讨Oracle数据库的一些关键知识点。 1. **SQL基础**:Oracle...

    Oracle期末试题

    ### Oracle期末试题知识点详解 #### 一、选择题解析 1. **服务器进程意外中止时,Oracle如何处理?** - **知识点**: Oracle后台进程的功能 - **解析**: 当一个服务器进程意外中止时,Oracle使用PMON(Process ...

    oracle11g OCP试题集

    4. **性能优化**:理解SQL优化器的工作原理,使用Explain Plan分析查询执行计划,调整索引,使用绑定变量,以及使用Oracle的性能监控工具如 tkprof 和 awr。 5. **备份与恢复**:学习RMAN(Recovery Manager)工具...

    北京翰子昂Oracle试题及答案

    在"HandsOn-Oracle试题及答案"中,我们可以期待涵盖以下几个核心知识点: 1. **SQL基础**:包括SELECT语句的使用,如JOIN、GROUP BY、HAVING、子查询等,以及数据的插入、更新和删除操作。 2. **表和索引**:理解...

    ORACLE10G全真试题

    Oracle 10G是Oracle...总的来说,"ORACLE10G全真试题"是备考Oracle 10G OCP的重要参考资料,通过模拟考试,考生可以检验自身对Oracle 10G数据库管理的理解,提高应对实际考试的能力,确保在正式考试中取得理想成绩。

    oracle 10g OCP 试题解析

    试题解析是备考这个认证的重要参考资料,通常涵盖了Oracle数据库管理、性能优化、网络配置、备份与恢复等多个关键领域。 042解析(175题)可能是一份包含175个问题的试题集,这些题目旨在测试考生在Oracle 10g数据库...

    oracle oca 试题.

    在"1Z0-042_supportcenter_v080812_296"这个压缩包文件中,很可能包含了针对Oracle OCA考试的模拟试题和学习资料。1Z0-042是Oracle 11g Database Administrator Certified Associate认证的考试代码,该考试主要涵盖...

    Oracle机试试题

    这道试题主要考察了Oracle的基本操作,包括表格的创建、数据插入、以及数据分析等核心技能。 首先,我们来看第一部分,创建表格。在Oracle中,我们可以使用`CREATE TABLE`语句来创建新的表。对于部门表(dept),我们...

    oracle试题

    以下是一些关于Oracle试题的相关知识点: 1. **默认表空间**:在Oracle中,如果在创建用户时没有指定DEFAULT TABLESPACE,那么Oracle将自动分配`SYSTEM`表空间作为用户的默认表空间。因此,正确答案是C.SYSTEM。 ...

    非常珍贵的oracle试题

    这份"非常珍贵的Oracle试题"显然涵盖了Oracle数据库的相关知识,对于学习者或准备Oracle认证考试的人来说,是一份宝贵的资源。1Z0-045是Oracle认证考试的一个具体科目,通常代表了Oracle数据库管理员(OCP)的认证...

    oracle大学考试试题

    #### 描述:大学Oracle考试的试题,全面复习Oracle,各院校经典例题试题。 - **内容要点**: - Oracle SQL语句的基础使用与进阶操作。 - 数据库管理语言(DML)和数据控制语言(DCL)的掌握。 - PL/SQL编程语言的...

    oracle考试试题及答案.pdf

    【Oracle考试试题解析】 Oracle考试主要测试考生对Oracle数据库系统的理解和操作能力,涵盖数据库管理、数据结构、数据库设计、SQL语言以及PL/SQL程序设计等多个方面。以下是对试卷中涉及的一些核心知识点的详细...

    oracle 10g 考试题库

    考生需要掌握性能分析工具(如SQL Trace和TKPROF)、索引策略、查询优化器的工作原理、分区技术以及内存结构的调整,以便在实际工作中提升数据库性能。 通过这些考试,DBA可以展示他们在Oracle 10g数据库管理方面的...

    oracle 10g OCP试题

    "042,043,007"可能是OCP认证考试中的特定试题代码,这些题目可能涉及Oracle 10g的不同方面。让我们逐一分析这些主题: 1. **042-168.pdf**:这可能是一份关于Oracle 10g数据库性能优化的资料。在Oracle 10g中,性能...

    Oracle 面试 机试题

    Oracle是全球最大的数据库管理系统提供商之一,其面试题涵盖了数据库管理、SQL语言、体系结构、性能优化、存储过程、触发器、并发控制等多个方面。以下是一些Oracle面试中可能遇到的知识点,供您参考: 1. **Oracle...

    oracle 10g 英文试题

    #### 试题分析 ##### 题目一 **题目内容** 创建一个新的临时表空间 `TEMP1` 如下: ```sql CREATE TEMPORARY TABLESPACE TEMP1 TEMPFILE '/u1/data/temp1.dbf' SIZE 10M TABLESPACE GROUP ''; ``` **问题描述** ...

Global site tag (gtag.js) - Google Analytics