`
凯旋人生
  • 浏览: 62873 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

Oracle复习之五

阅读更多

--求部门的平均薪水的等级
select deptno,avg(grade) from
(select deptno,ename,grade from emp
join salgrade s on emp.sal between s.losal and s.hisal)
group by deptno;

DEPTNO     AVG(GRADE)
30     2.5
20     2.8
10     3.66666667
--雇员中有哪些是经理人
select ename from emp where empno in(select mgr from emp);
或select ename from emp where empno in(select distinct mgr from emp);更有效

ENAME
FORD
BLAKE
KING
JONES
SCOTT
CLARK

--不准用组函数,求薪水最高值
select distinct sal from emp where sal not in
(
select distinct e1.sal from emp e1
join emp e2 on (e1.sal < e2.sal )
);

SAL
5000

--求平均薪水等级最低的部门的部门名称

select dname ,t1.deptno ,grade, avg_sal from
(
   select deptno, grade, avg_sal from
   (select deptno, avg(sal) avg_sal from emp group by deptno) t
   join salgrade s on (t.avg_sal between s.losal and hisal)
   ) t1
  join dept on (t1.deptno =dept.deptno)
where t1.grade=
(
  select min(grade) from
  (
  select deptno, grade, avg_sal from
  (select deptno, avg(sal) avg_sal from emp group by deptno) t
  join salgrade s on (t.avg_sal between s.losal and hisal)
)
)

DNAME     DEPTNO     GRADE     AVG_SAL
SALES     30     3     1566.66667

--薪水最高的高的第3到6名雇员

select * from
(
select rownum rn,empno, ename ,sal from
(
select e.empno,ename,sal from emp  e
join  (select empno from emp where empno not in
       (select mgr from emp where mgr is not null)) t
     on e.empno= t.empno
   order by sal desc
)
)where rn >=3 and rn <6;

RN  EMPNO  ENAME  SAL 
3  7934  MILLER  1300 
4  7521  WARD  1250 
5  7654  MARTIN  1250 

rownum只能用于<,<=这么用
select rownum from
(
select rownum r ,ename from emp
) where r>10;

求薪水最高的前5人
select ename,sal from
(
select ename,sal from emp order by sal desc
)where rownum<=5;
ENAME     SAL
KING     5000
SCOTT     3000
FORD     3000
JONES     2975
BLAKE     2850

薪水最高的5-10
select ename,sal from
(
select rownum r,ename,sal from emp order by sal desc
)where r<=10 and r>==5;

ENAME     SAL
KING     5000
SCOTT     3000
BLAKE     2850
CLARK     2450
TURNER     1500
MARTIN     1250

 

SQL面试题:
有3个表S,C,SC
S(SNO,SNAME)代表(学号,姓名)
C(CNO,CNAME,CTEACHER)代表(课号,课名,教师)
SC(SNO,CNO,SCGRADE)代表(学号,课号成绩)

问题:
1.找出没选过"黎明"老师的所有学生姓名。

select SNAME from
S join SC on (S.SNO = SC.SNO) join
C on (C.CNO = SC.CNO) where Teacher <> '黎明';
/** 我写的
select SNAME from
(S join SC on (S.SNO = SC.SNO) ) T
where T.CNO in (select CNO from c where CTEACHER <> '黎明')
*/

2.列出2门以上(含2门)课不及格的学生的姓名及成绩。
select sname from s where sno in
(
select sno,count(*) from sc
where scgrade<60
group by sno having count(*) >= 2
);

3.即学过1号课程又学过2号课程的所有学生的姓名。
select sname from S
wehre sno in
(select sno from sc cno=1 t1
join seclec son from sc cno=2 t2 on t1.sno=t2.sno)

分享到:
评论

相关推荐

    Oracle复习考试题

    以下是从“Oracle复习考试题”中提炼出的关键知识点,旨在帮助考生全面复习,确保对Oracle核心概念和技术有深入的理解。 ### 一、Oracle基础知识 1. **Oracle数据库概述**:理解Oracle数据库系统的架构,包括实例...

    oracle复习资料详解,ppt格式

    **Oracle复习资料详解** Oracle是全球最广泛使用的数据库管理系统之一,尤其在企业级应用中占据主导地位。本复习资料以PPT格式详细介绍了Oracle数据库的关键概念和技术,旨在帮助学习者全面掌握Oracle的相关知识。 ...

    oracle复习笔记03

    5. **FOR循环游标** - 在`FOR`循环中自动打开和关闭游标。 - 示例: ```sql DECLARE CURSOR region_cur IS SELECT first_name, last_name, ssn FROM person WHERE region_number = region_number_in; BEGIN...

    oracle复习

    标题“Oracle复习”提示我们,这里将探讨Oracle数据库的相关知识,这是一款广泛应用于企业级的数据库管理系统。Oracle数据库以其高效、稳定和强大的功能在IT行业中占有一席之地。描述中的“博文链接”提供了进一步...

    《ORACLE数据库》复习汇总

    《ORACLE数据库》复习汇总是一份综合性的学习资料,涵盖了ORACLE数据库的关键概念和技术。这份复习汇总主要基于教材,旨在帮助学生系统性地理解和掌握ORACLE数据库的核心内容。 首先,Oracle版本及其发展史展示了...

    Oracle复习总结

    在复习Oracle时,我们需要深入理解其核心概念和技术,包括表连接方式、执行计划的查看、优化器策略、SQL监控与调整、索引的运用以及排序内存管理等。 1. **表连接方式**:Oracle支持多种连接方式,如哈希连接(Hash...

    ORACLE复习纲要 杭电

    Oracle复习纲要主要涵盖了Oracle数据库的基础概念、管理、编程以及安全性等方面的知识。以下是对这些知识点的详细说明: 1. **Oracle实例和数据库结构**: - Oracle实例是运行在操作系统上的一组进程和内存结构,...

    Oracle面试复习(一)

    这篇“Oracle面试复习(一)”的博文可能涵盖了Oracle数据库的基础知识,以及如何在面试中有效地展示这些技能。以下是一些可能涉及的关键知识点: 1. **Oracle数据库简介**:Oracle是全球领先的数据库管理系统之一...

    Oracle期末复习资料

    Oracle是世界上最广泛使用的数据库管理系统之一,尤其在企业级应用中占据重要地位。以下是对Oracle期末复习资料中涉及的关键知识点的详细解释: 1. **Oracle支持的类型**:Oracle支持多种类型的数据库,包括事务...

    Oracle面试复习(二)

    这篇复习资料主要聚焦于Oracle面试中常见的问题,旨在帮助你更好地准备和理解Oracle的核心概念、功能以及最佳实践。以下是一些可能在面试中出现的关键知识点: 1. **SQL语言基础**: - SQL是Structured Query ...

    oracle复习资料

    Oracle数据库是世界上最广泛使用的数据库管理系统之一,尤其在企业级应用中占据重要地位。这篇复习资料主要涉及Oracle数据库中的模式对象管理,这对于学习数据库管理和准备数据库三级考试非常有帮助。模式对象是...

    ORACLE复习资料

    Oracle数据库系统是全球广泛使用的大型关系型数据库管理系统之一,它提供了强大的数据存储、管理以及处理功能。本复习资料主要涵盖了Oracle中的数据操作语言(DML)和过程化SQL(PL/SQL)的相关实例,这对于理解和...

    Oracle复习资料

    ### Oracle复习资料知识点详解 #### 一、Oracle数据库系统的物理存储结构 - **数据文件**:数据文件是Oracle数据库中最基本的存储单元之一,用于存储实际的数据和元数据信息。一个表空间通常由一个或多个数据文件...

    Oracle考试复习资料试题

    Oracle数据库是全球广泛使用的数据库管理系统,对于准备...以上是Oracle考试复习的关键知识点,熟练掌握这些内容将有助于在考试中取得好成绩。在实际应用中,还需要结合实际场景灵活运用,以解决各种数据库管理问题。

    2011年Oracle复习资料

    2011年的Oracle复习资料主要涵盖数据库管理、SQL语法、表空间管理、序列、后台进程、SQL语句缓存、文件操作、变量管理和约束等方面的知识点。 1. 数据文件是Oracle数据库存储数据的基本单元。描述正确的是C,一个表...

    Oracle 复习用脚本

    ### Oracle复习知识点详解 #### 一、创建与管理数据库对象 **1. 创建表空间** 在Oracle中,数据存储在表空间中。表空间由一个或多个数据文件组成,是逻辑存储单元。例如: ```sql createtime EXAM_DATAFILE 'C:\...

    Oracle 11g OCP复习资料

    Oracle 11g OCP复习资料 1Z0-053 V10.02.pdf 052.v2011-11-08.by.orram.175q.pdf 053.v2011-11-08.by.White.205q.pdf Oracle.1Z0-051.175q.PASSED.pdf

    Oracle常用SQL语句复习

    本篇将基于"Oracle常用SQL语句复习"这一主题,深入探讨Oracle SQL的基本语法和常用操作,帮助读者巩固和提升Oracle数据库操作技能。 1. **数据查询基础** - `SELECT`语句是SQL中最基本的查询命令,用于从一个或多...

Global site tag (gtag.js) - Google Analytics