`
ilovezhurong
  • 浏览: 44544 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

oracle学习笔记一

阅读更多

子查询

 

    显示高于部门平均工资的雇员信息
select ename,job,sal from emp,
(select deptno,avg(sal) avgsal from emp
  group by deptno) dept
where dept.deptno=emp.deptno and sal>dept.avgsal

 

emp表数据装载到employee表

insert  into employee (id,name,tite,salary)
  select empno,ename,job,sal from emp;

 


将smith同岗位的雇员工资和补助更新为与smith的工资和补助完全相同
update emp set (sal,comm) =
(select sal,comm from emp where ename='SMITH')
where job=(select job from emp where ename='SMITH');
  select empno,ename,job,sal from emp;

 

 

 

删除sales部门的所有雇员
delete from emp where dept=(select dept from emp where dname='sales')

 

 


建立new_emp表,并将emp表的数据复制到该表为例

create table new_emp (id,name,sal,job,deptno) as
 select empno,ename,sal,job,deptno from emp;

 

 


实体化视图使用子查询
create materialized view summary_emp as
select deptno,jb,avg(sal) avgsal,sum(sal) sumsal
from emp group by cube(deptno,job);

 

 

合并查询

 

1 UNION
UNION 获取两个结果集的并集,自动去掉结果集的重复行,显示工资高于2500的
雇员和岗位为"manager"的雇员为例
 select ename,sal.job frm emp where sal>2500
union
select ename,sal,job from emp where job='manager'

 

2 INTERSECT

用于获取连个结果集的交集

 

3 MINUS

显示两个结果集中的差集

 

 

复杂查询

 

1     层次查询

 

col ename format a15
col job format a15
select lpad(' ',3*(LEVEL-1)) ||ename ename,
LPAD(' ',3*(LEVEL-1))||job job from emp
where job<>'CLERK' start with mgr is null
connect by mgr=prior empno;

 

2     使用case表达式
select ename.sal,case when sal>3000 then 3
when sal>2000 then 2 else 1 end grade
from emp where deptno=10;

 

倒叙查询
查看历史数据
select ename,sal from emp as of timestamp to_timestamp('2003-05-18 19:59:00','yyyy-mm-dd hh24:mi:ss'') where ename='clark'

 

 

使用dbms_frashback包获取特定scn数据

exec dbms_flashback.enable_at_system_change_number(717402)

 

 

with语句

 


例1   显示部门工资总和高于雇员工资总和三分之一的部门名及工资总和

select dname,sum(sal) as dept_total from emp,dept
where emp.deptno=dept.deptno group by dname
having sum(sal) >
(select sum(sal) * 1/3 from emp,dept where emp.deptno=dept.deptno);

 

例2  

显示部门工资总和高于雇员工资总和三分之一的部门名及工资总和(使用with子句重用
子查询)
with summary as (
  select dname,sum(sal) as dept_total from emp.dept
  where emp.deptno=dept.deptno group by dname
)
select dname,dept_total from summery where dept_total>
( select sum(dept_total) * 1/3 from summery )

 

 

 

 

分享到:
评论

相关推荐

    Oracle学习笔记 PDF

    ### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...

    Oracle学习笔记

    Oracle学习笔记 Oracle学习笔记是李兴华老师编写的Oracle从入门到精通的学习笔记,涵盖了 Oracle 的多表查询、连接、组函数和分组统计等知识点。在本篇笔记中,李兴华老师详细介绍了多表查询的基本语法、左右连接...

    oracle学习笔记1

    在尚学堂马世兵的Oracle课堂笔记中,我们能看到一系列基础的SQL查询语句,这些都是学习Oracle数据库不可或缺的部分。 首先,`DESC`命令用于获取表的结构信息,例如`DESC emp`、`DESC dept`和`DESC salgrade`分别...

    Oracle学习笔记精华版

    Oracle学习笔记精华版是针对数据库管理系统Oracle的一份重要学习资源,涵盖了从基础概念到高级特性的全面知识。Oracle,作为全球广泛使用的大型企业级数据库系统,对于IT专业人员尤其是数据库管理员(DBA)来说,是...

    Oracle学习笔记.doc

    Oracle学习笔记 以下是我这一周学习oracle整理的笔记,包括课堂的内容和自己看额外看的视频补充的一些内容,基本上囊括了所有oracle的基本知识。主要的形式是例子代码加代码解释加运行结果,我个人认为对于没有学习...

    Oracle学习笔记1.docx

    Oracle 学习笔记 1 本文档涵盖了 Oracle 学习的基础知识,包括客户端工具、用户管理、表结构、SELECT 语句、DISTINCT 操作、WHERE 子句、ORDER BY 子句和 SQL 函数等内容。 客户端工具 Oracle 提供了多种客户端...

    Oracle学习笔记.pdf

    在Oracle学习笔记中,对安装卸载和配置的详尽讲解,不仅为学习者提供了操作指导,而且还涉及到了数据库管理的一些基础知识点。这些内容对于数据库管理员和开发人员来说都是十分重要的,因为它们是操作Oracle数据库的...

    Oracle学习笔记-日常应用、深入管理、性能优化

    资源名称:Oracle学习笔记-日常应用、深入管理、性能优化内容简介:Oracle学习笔记-日常应用、深入管理、性能优化Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛...

    oracle学习笔记整理

    以下是对Oracle学习笔记整理的主要知识点的详细说明: 1. **数据库选择**: 在决定使用哪种数据库时,通常需要考虑项目的规模、性能需求、安全性要求以及可用资源。Oracle数据库因其稳定性、可扩展性和高性能而被...

    oracle dba学习笔记

    Oracle DBA 学习笔记 标题:Oracle DBA 学习笔记 描述:学习使用维护 Oracle 数据库数年,对认为值得记录的 Oracle 维护脚本进行记录总结,存起来,虽然今后开源是方向,但不可否认 Oracle 仍然非常有水平的,在...

    Oracle学习笔记 Oracle学习笔记

    根据提供的信息,我们可以总结出以下Oracle数据库学习的关键知识点: ...以上是基于提供的内容整理出的Oracle学习笔记中的关键知识点。通过理解这些基础知识,可以更好地管理和操作Oracle数据库。

    oracle学习笔记-入门基础

    Oracle数据库是世界上最流行的数据库管理系统之一,它提供了丰富的特性和功能来优化数据管理和查询性能。本文主要探讨Oracle数据库的入门基础知识,特别是与索引相关的概念。 首先,我们要理解ROWID的概念。ROWID是...

    oracle学习笔记.txt

    超详细Oracle学习笔记,详细记录了oracle的学习过程中遇到的各种问题及基础知识,适合初中级oracle使用人员学习参考。

    oracle学习笔记下载

    ### Oracle 学习笔记知识点概览 #### 一、Oracle 数据库系统参数查询与管理 在 Oracle 数据库的学习过程中,了解如何查看和管理数据库的系统参数是非常重要的。这些参数直接影响着数据库的性能和稳定性。 ##### ...

    Oracle学习笔记——日常应用、深入管理、性能优化 示例代码

    Oracle 11g是最具代表性的高端关系型数据库管理系统,它在世界各地的大型商务数据库应用系统中被广泛应用。本书设计了大量的应用情景,介绍了数据库管理员和开发人员常用的管理、维护和优化Oracle 11g数据库的技术和...

Global site tag (gtag.js) - Google Analytics