`

Oracle学习笔记(二)

阅读更多

7、表链接的应用

            

 //求部门平均薪水的等级
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 deptno,avg(grade) from
               (select deptno,ename,grade from emp join salgrade s 
                       on (emp.sal between s.losal and s.hisal)) t
                group by deptno;
//雇员中有哪些人是经理人
select ename from emp where empno in (select distinict mgr from emp);
//不用组函数求薪水的最高值
select disinict sal from emp  where sal not in (select distinict e1.sal from emp e1 join emp e2 on (e1.sal<e2.sal))  
//平均薪水最高的部门的部门编号
select deptno ,avg_sal from 
        (select avg(sal) avg_sal,deptno from emp group by deptno)
        where avg_sal=(select max(avg_sal) from
             (select avg(sal) avg_sal,deptno from emp group by deptno))

 //平均薪水最高的部门的部门名称
select dname from dept where deptno=
             (select deptno from 
                         (select avg(sal) avg_sal,deptno from 
                                   emp group by deptno)
                          where avg_sal=
                          (select max(avg_sal) from
                                 (select avg(sal) avg_sal,deptno from 
                                        emp group by deptno)
                         )
              )
 //求普通员工的最高薪水还要高的经理人名称              
select ename from
        emp where empno in 
                      (select distinct mgr from emp where mgr is not null)
                     and sal>
                            (select max(sal) from emp empno not in
                                   (select distinct mgr from 
                                             emp where mgr is not  null
                                    )
                            )

 

六、Oracle中的分页

      

 # 薪水最高的第六个人到第十个人
select ename,sal from
                      ( 
                       select enmae,sal,rownum r from
                        (
                         select ename,sal from emp order by sal desc;
                        )  
                      )
                      where r>=6 and r<=10;

 

七、其他

  7.1创建新用户

          1、backup scott
               进入到一个目录下(cd temp),将目录里的文件全部删掉(del *.*),

               然后敲exp,输入用户名和密码  scott/tiger  回车 回车 U yes yes yes   成功导出
                在temp里有一个expdat.dmp                
          2、create user
               create user liuchao identified by liuchao default tablespace users quota 10M on users;

               (users表空间上分配10兆空间)
               grant create session,create table,create view to liuchao   
          3、import the data
                      imp 回车 liuchao/liuchao   scott(只导入scott用户的东西)
          4、验证:
                       conn liuchao/liuchao

  7.2DML语句

               DML语句就是insert delete update语句,实例略。

  7.3一些术语

            1、主键:可以唯一标识整条记录的,(非空唯一),逻辑意义代表不同的记录
            2、外键:一张表的两个字段,两张表的两个字段上,被参考的字段必须是主键

            3、事务:一系列的操作,要么同时完成,要么都不完成,碰到rollback,(commit,DDL语句,正常断开连接)

                         事务结束

            4、索引:相当字典里的索引,读起来更快。索引的用途是访问量特别大,因此不要轻易的建立索引(耗费

                         的空间大)

            5、视图:视图就是子查询,视图的优点是简化查询,保护私有数据。缺点是表结构改了,视图得跟着改,

                          增加了维护的支出。

            6、三范式:数据库设计的规则
                   (1)不存在冗余数据 主键  , 设计任何表都要有主键,(要有主键,列不可分,不能重复)
                   (2)多对多设计时所要遵循的东西,当一张表有多个字段作为主键的时候,(非主键的不能依赖于

                        部分主键,不能存在部分依赖。)                  

                   (3)存在传递依赖 。

                      

  7.4DDL语句

               DDL语句就是create、alert语句。

                

#create语句
create table stu
        (
         id number(6),
         name varchar2(20) constraint stu_namenn not null,
         sex number(1),
         age number(3),
         sdate date,
         grade number(2) default 1
         class number(4) references class(id),
         email varchar2(50),                    
      constraint stu_class_fk foreign key (class) references class(id)
         constraint stu_id_pk primary key (id),
         constraint stu_name_email_uni unique(email,name)
        ); 
#alert语句
alter table stu add(addr varchar2(100));
alter table stu drop (addr);
alter table stu add(addr varchar2(100)) ;
alter table stu modify (addr varchar2(50));
alter table stu drop constraint stu_class_fk;//一般不需要修改
alter table stu add 
         constraint stu_class_fk foreign key (class)  references class(id);

 

 

 

分享到:
评论

相关推荐

    Oracle学习笔记 PDF

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

    Oracle学习笔记

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

    Oracle学习笔记精华版

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

    Oracle学习笔记.doc

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

    Oracle学习笔记.pdf

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

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

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

    oracle学习笔记整理

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

    Oracle学习笔记 Oracle学习笔记

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

    oracle dba学习笔记

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

    oracle学习笔记.txt

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

    oracle学习笔记-入门基础

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

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

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

    oracle学习笔记下载

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

    ORACLE经典学习笔记

    ### ORACLE经典学习笔记知识点概览 #### 第一章 ORACLE 命令 本章节主要介绍了Oracle数据库中常用的命令及其使用方法。 1. **查看参数文件**: `Desc v$parameter` - 这个命令用于查看Oracle的参数文件信息,通过...

    oracle 学习笔记

    oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记oracle 学习笔记

    全网最全的oracle学习笔记

    全网最全的oracle学习笔记,oracle学习笔记,oracle,### 4、oracle的七个服务 ```sql 1、Oracle ORCL VSS Writer Service Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存储基础设备(比如...

Global site tag (gtag.js) - Google Analytics