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

Oracle笔记(八) 复杂查询及总结

 
阅读更多

Oracle笔记(八) 复杂查询及总结

一、复杂查询

1、 列出至少有一个员工的所有部门编号、名称,并统计出这些部门的平均工资、最低工资、最高工资。

1、确定所需要的数据表:

  • emp表:可以查询出员工的数量;
  • dept表:部门名称;
  • emp表:统计信息;

2、确定已知的关联字段:

  • emp.deptno=dept.deptno;  

第一步:找出至少有一个员工的部门编号

SELECT deptno,COUNT(empno)
FROM emp
GROUP BY deptno
HAVING COUNT(empno)>1;

第二步:找到部门名称,肯定使用部门表,因为现在的数据量较小,所以可以将之前的emp表和dept表两个进行连接,统一采用多字段分组的方式查询;

SELECT d.deptno,d.dname,COUNT(e.empno)
FROM emp e,dept d
WHERE e.deptno=d.deptno(+)
GROUP BY d.deptno,d.dname
HAVING COUNT(e.empno)>1;

第三步:依然需要继续统计

SELECT d.deptno,d.dname,COUNT(e.empno),AVG(sal),MIN(sal),MAX(sal)
FROM emp e,dept d
WHERE e.deptno=d.deptno(+)
GROUP BY d.deptno,d.dname
HAVING COUNT(e.empno)>1;

2、 列出薪金比“SMITH”或“ALLEN”多的所有员工的编号、姓名、部门名称、其领导姓名。

1、确定所需要的数据表:

  • emp表:查询出“SMITH”或“ALLEN”工资;
  • emp表:最终的显示需要编号、姓名;
  • emp表:领导的姓名,自身关联;
  • dept表:部门名称;

2、确定已知的关联字段:

  • 雇员和领导:emp.mgr=memp.empno;
  • 雇员和部门:emp.deptno=dept.deptno;

第一步:找出“SMITH”或“ALLEN”的工资

SELECT sal FROM emp WHERE ename IN('SMITH','ALLEN');

第二步:以上的查询返回的多行单列的记录,按照子查询的要求在WHERE子句中写合适,所以这个时候将上面的查询作为一个子查询出现,继续查询符合此要求的员工的编号、姓名。

SELECT e.empno,e.ename
FROM emp e
WHERE e.sal>ALL(
    SELECT sal
    FROM emp
    WHERE ename IN('SMITH','ALLEN'));

第三步:查询出部门的名称,引入部门表,同时增加消除笛卡尔积的条件

复制代码
SELECT e.empno,e.ename,d.dname
FROM emp e,dept d
WHERE e.sal>ALL(
    SELECT sal
    FROM emp
    WHERE ename IN('SMITH','ALLEN'))
    AND e.deptno=d.deptno;
复制代码

第四步:领导的信息需要emp表自身关联

复制代码
SELECT e.empno,e.ename,d.dname,m.ename
FROM emp e,dept d,emp m
WHERE e.sal>ALL(
    SELECT sal
    FROM emp
    WHERE ename IN('SMITH','ALLEN'))
    AND e.deptno=d.deptno
    AND e.mgr=m.empno(+);
复制代码

3、 列出所有员工的编号、姓名及其直接上级的编号、姓名,显示的结果按领导年工资的降序排列。

1、确定所需要的数据表:

  • emp表:员工的编号、姓名;
  • emp表:领导的编号、姓名、计算年薪;

2、确定已知的关联字段:emp.mgr=memp.empno;

SELECT e.empno,e.ename,m.empno,m.ename,(m.sal+NVL(m.comm,0))*12 income
FROM emp e,emp m
WHERE e.mgr=m.empno(+)
ORDER BY income DESC;

4、列出受雇日期早于其直接上级的所有员工的编号、姓名、部门名称、部门位置、部门人数。

1、确定所需要的数据表:

  • emp表:雇员的编号、姓名;
  • emp表:求出领导的工作日期;
  • dept表:部门名称、位置;
  • emp表:统计部门人数;

2、确定已知的关联字段:

  • 雇员和部门:emp.deptno=dept.deptno;
  • 雇员和领导:emp.mgr=memp.empno;

第一步:列出受雇日期早于其直接上级的所有员工的编号、姓名 —— 自身关联emp表。

SELECT e.empno,e.ename
FROM emp e,emp m
WHERE e.mgr=m.empno(+) AND e.hiredate<m.hiredate;

第二步:加入部门信息,继续引入部门表

SELECT e.empno,e.ename,d.dname,d.loc
FROM emp e,emp m,dept d
WHERE e.mgr=m.empno(+) AND e.hiredate<m.hiredate
AND e.deptno=d.deptno;

额外提问,此时的笛卡尔积:emp表的14条 * emp表的14条 * dept表的4条;

第三步:统计部门人数,此时由于要使用统计函数,而且以上的查询也无法再直接出现统计函数,所以使用子查询完成

复制代码
SELECT e.empno,e.ename,d.dname,d.loc,temp.count
FROM emp e,emp m,dept d,(
    SELECT deptno dno,COUNT(empno) count
    FROM emp
    GROUP BY deptno) temp
WHERE e.mgr=m.empno(+) AND e.hiredate<m.hiredate
    AND e.deptno=d.deptno
    AND e.deptno=temp.dno;
复制代码

当查询显示的时候需要统计信息,但是又不能直接使用统计函数查询的话,通过子查询在FROM子句之后进行统计。

5、列出部门名称和这些部门的员工信息(数量、平均工资),同时列出那些没有员工的部门。

1、确定所需要的数据表:

  • dept表:部门的信息;
  • emp表:求出所有的统计信息;

2、确定已知的关联字段:emp.deptno=dept.deptno;

SELECT d.deptno,d.dname,d.loc,COUNT(e.empno),AVG(e.sal)
FROM emp e,dept d
WHERE e.deptno(+)=d.deptno
GROUP BY d.deptno,d.dname,d.loc;

6、列出所有“CLERK”(办事员)的姓名及其部门名称,部门的人数,工资等级。

1、确定所需要的数据表:

  • emp表:找到办事员的姓名;
  • dept表:部门名称;
  • emp表:统计求出部门的人数;
  • salgrade表:查询工资等级;

2、确定已知的关联字段:

  • emp表和dept表:emp.deptno=dept.deptno;
  • emp表和salgrade表:emp.sal BETWEEN salgrade.losal AND salgrade.hisal;

第一步:找到所有办事员的姓名

SELECT e.ename
FROM emp e
WHERE job='CLERK';

第二步:找到部门信息,引入dept表,同时增加消除笛卡尔积的条件

SELECT e.ename,d.dname
FROM emp e,dept d
WHERE job='CLERK' AND e.deptno=d.deptno;

第三步:部门人数需要额外的统计,但是本程序的查询里面已经不可能继续使用COUNT()函数,所以写子查询统计

复制代码
SELECT e.ename,d.dname,temp.count
FROM emp e,dept d,(
    SELECT deptno dno,COUNT(empno) count
    FROM emp
    GROUP BY deptno) temp
WHERE e.job='CLERK' AND e.deptno=d.deptno
    AND d.deptno=temp.dno;
复制代码

第四步:雇员的工资等级,继续引入salgrade表

复制代码
SELECT e.ename,d.dname,temp.count,s.grade
FROM emp e,dept d,(
    SELECT deptno dno,COUNT(empno) count
    FROM emp
    GROUP BY deptno) temp,salgrade s
WHERE e.job='CLERK' AND e.deptno=d.deptno
    AND d.deptno=temp.dno
    AND e.sal BETWEEN s.losal AND s.hisal;
复制代码

7、列出最低薪金大于1500的各种工作及从事此工作的全部雇员人数及所在部门名称、位置、平均工资。

1、确定所需要的数据表:

  • emp表:最低薪金大于1500的工作肯定需要使用emp表统计求出,以及可以求出雇员人数;
  • dept表:求出些雇员所在的部门信息;
  • emp表:统计求出部门的平均工资;

2、确定已知的关联字段:emp.deptno=dept.deptno;

第一步:使用emp表按照job分组,统计最低工资(HAVING)和人数

SELECT e.job,COUNT(e.empno)
FROM emp e
GROUP BY e.job
HAVING MIN(e.sal)>1500;

第二步:要查询出雇员所在的部门信息,但是以上的查询能跟dept表有关联吗?

以上的查询和dept表之间并没有关联字段,那么如果没有关联字段,一定会有笛卡尔积产生,但是多表查询必须要消除笛卡尔积,所以必须联系;

  • 以上的查询可以和emp表的job字段关联;
  • 要引入的dept表也可以和emp表的deptno字段关联;
复制代码
SELECT temp.job,temp.count,d.dname,e.ename
FROM dept d,(
    SELECT e.job job,COUNT(e.empno) count
    FROM emp e
    GROUP BY e.job
    HAVING MIN(e.sal)>1500) temp,
    emp e
WHERE e.deptno=d.deptno AND e.job=temp.job;
复制代码

第三步:求出一个部门的平均工资,使用emp表在子查询中统计

复制代码
SELECT temp.job,temp.count,d.dname,e.ename,res.avg
FROM dept d,(
    SELECT e.job job,COUNT(e.empno) count
    FROM emp e
    GROUP BY e.job
    HAVING MIN(e.sal)>1500) temp,
    emp e,(
    SELECT deptno dno,AVG(sal) avg
    FROM emp
    GROUP BY deptno) res
WHERE e.deptno=d.deptno AND e.job=temp.job
    AND e.deptno=res.dno;
复制代码

本题目之所以出的如此之复杂,目的是训练大家寻找关联字段的能力,但是本题目没有任何的意义,知道就行了。

8、列出在部门“SALES”(销售部)工作的员工姓名、基本工资、雇佣日期、部门名称、假定不知道销售部的部门编号。

1、确定所需要的数据表:

  • emp表:员工姓名、基本工资、雇佣日期;
  • dept表:找到销售部的部门编号、部门名称;

2、确定已知的关联字段:emp.deptno=dept.deptno;

SELECT e.ename,e.sal,e.hiredate,d.dname
FROM emp e,dept d
WHERE e.deptno=d.deptno
AND d.dname='SALES';

9、列出薪金高于公司平均薪金的所有员工,所在部门,上级领导,公司的工资等级。

1、确定所需要的数据表:

  • emp表:可以求出公司的平均薪金;
  • emp表:员工的信息;
  • dept表:部门的信息;
  • emp表:领导的信息;
  • salgrade表:工资等级;

2、确定已知的关联字段:

  • 雇员和部门:emp.deptno=dept.deptno;
  • 雇员和领导:emp.mgr=memp.empno;
  • 雇员和工资等级:emp.sal BETWEEN salgrade.losal AND salgrade.hisal;

第一步:求出公司的平均薪金

SELECT AVG(sal) FROM emp;

第二步:将以上的子查询放在WHERE子句之中,作为一个查询条件,求出满足此条件的雇员信息。

SELECT e.empno,e.ename,e.job,e.sal
FROM emp e
WHERE e.sal>(
    SELECT AVG(sal) FROM emp);

第三步:找到部门的名称

SELECT e.empno,e.ename,e.job,e.sal,d.dname,d.loc
FROM emp e,dept d
WHERE e.sal>(
    SELECT AVG(sal) FROM emp)
    AND e.deptno=d.deptno;

第四步:找到领导的信息

SELECT e.empno,e.ename,e.job,e.sal,d.dname,d.loc,m.ename
FROM emp e,dept d,emp m
WHERE e.sal>(
    SELECT AVG(sal) FROM emp)
    AND e.deptno=d.deptno
    AND e.mgr=m.empno(+);

第五步:找到工资等级

复制代码
SELECT e.empno,e.ename,e.job,e.sal,d.dname,d.loc,m.ename,s.grade
FROM emp e,dept d,emp m,salgrade s
WHERE e.sal>(
    SELECT AVG(sal) FROM emp)
    AND e.deptno=d.deptno
    AND e.mgr=m.empno(+)
    AND e.sal BETWEEN s.losal AND s.hisal;
复制代码

10、列出与“SCOTT”从事相同工作的所有员工及部门名称,部门人数。

1、确定所需要的数据表:

  • emp表:找到SCOTT的工作;
  • emp表:员工的信息;
  • dept表:部门名称;
  • emp表:部门人数;

2、确定已知的关联字段:emp.deptno=dept.deptno;

第一步:找到SCOTT的工作

SELECT job FROM emp WHERE ename='SCOTT';

第二步:以上的子查询返回单行单列的数据,所以可以在WHERE子句中出现,以这个条件查找满足要求的雇员信息

复制代码
SELECT e.empno,e.ename,e.job
FROM emp e
WHERE e.job=(
    SELECT job
    FROM emp
    WHERE ename='SCOTT')
    AND e.ename<>'SCOTT';
复制代码

第三步:找到部门名称

复制代码
SELECT e.empno,e.ename,e.job,d.dname
FROM emp e,dept d
WHERE e.job=(
    SELECT job
    FROM emp
    WHERE ename='SCOTT')
    AND e.ename<>'SCOTT'
    AND e.deptno=d.deptno;
复制代码

第四步:找到部门人数,需要统计,所以在FROM子句之中编写

复制代码
SELECT e.empno,e.ename,e.job,d.dname,temp.count
FROM emp e,dept d,(
    SELECT deptno dno,COUNT(empno) count
    FROM emp
    GROUP BY deptno) temp
WHERE e.job=(
    SELECT job
    FROM emp
    WHERE ename='SCOTT')
    AND e.ename<>'SCOTT'
    AND e.deptno=d.deptno
    AND temp.dno=e.deptno;
复制代码

11、列出公司各个工资等级雇员的数量、平均工资。

1、确定所需要的数据表:

  • emp表:统计出数据;
  • salgrade表:得出工资等级;

2、确定已知的关联字段:emp.sal BETWEEN salgrade.losal AND s.hisal;

本程序实际上就是一个多字段分组而已,唯一不同的是,将分组条件设置为salgrade表中的字段;

SELECT s.grade,s.losal,s.hisal,COUNT(e.empno),AVG(e.sal)
FROM emp e,salgrade s
WHERE e.sal BETWEEN s.losal AND s.hisal
GROUP BY s.grade,s.losal,s.hisal;

12、列出薪金高于在部门30工作的所有员工的薪金的员工姓名和薪金、部门名称。

1、确定所需要的数据表:

  • emp表:找出所有在30部门工作的雇员的工资;
  • emp表:最终显示的雇员姓名;
  • dept表:找到部门名称;

2、确定已知的关联字段:emp.deptno=dept.deptno;

第一步:找到30部门工作的雇员的工资

SELECT sal FROM emp WHERE deptno=30;

第二步:高于30部门,使用ALL操作符,引入emp表,查询姓名和薪金

SELECT e.empno,e.ename
FROM emp e
WHERE sal>ALL(
    SELECT sal FROM emp WHERE deptno=30)
    AND e.deptno=d.deptno;

13、列出在每个部门工作的员工数量、平均工资和平均服务期限。

1、确定所需要的数据表:

  • dept表:找到部门信息;
  • emp表:统计出数量、平均工资、平均服务年限;

2、确定已知的关联字段:emp.deptno=dept.deptno;

直接将dept和emp表关联,使用多字段分组即可,但是对于服务年限需要一个计算过程。

SELECT d.deptno,d.dname,d.loc,COUNT(e.empno),AVG(e.sal),AVG(MONTHS_BWTWEEN(SYSDATE,e.hiredate)/12) year
FROM emp e,dept d
WHERE e.deptno(+)=d.deptno
GROUP BY d.deptno,d.dname,d.loc;

14、列出所有员工的姓名、部门名称和工资。

1、确定所需要的数据表:

  • emp表:找到员工姓名;
  • dept表:部门名称;

2、确定已知的关联字段:emp.deptno=dept.deptno;

SELECT e.ename,d.dname,e.sal
FROM emp e,dept d
WHERE e.deptno=d.deptno;

15、列出所有部门的详细信息和部门人数。

1、确定所需要的数据表:

  • emp表:统计信息;
  • dept表:查询部门信息;

2、确定已知的关联字段:emp.deptno=dept.deptno;

SELECT d.deptno,d.dname,d.loc,COUNT(e.empno)
FROM emp e,dept d
WHERE e.deptno(+)=d.deptno
GROUP BY d.deptno,d.dname,d.loc;

16、列出各种工作的最低工资及从事此工作的雇员姓名。

1、确定所需要的数据表:

  • emp表:统计出各个工作的最低工资;
  • emp表:查找出雇员姓名;

第一步:按照职位统计各个职位的最低工资

SELECT job,MIN(sal) FROM emp
GROUP BY job;

第二步:将以上的查询和emp表关联

SELECT e.ename,e.job,e.sal
FROM emp e,(
    SELECT job,MIN(sal) FROM emp
    GROUP BY job) temp
WHERE e.job=temp.job AND e.sal=temp.min;

17、列出各个部门的MANAGER(经理)的最低薪金、姓名、部门名称、部门人数。

1、确定所需要的数据表:

  • emp表:找到经理的薪金、姓名;
  • dept表:部门名称;
  • emp表:统计部门人数;

2、确定已知的关联字段:emp.deptno=dept.deptno;

第一步:找到所有部门的经理

SELECT deptno,MIN(sal)
FROM emp
WHERE job='MANAGER'
GROUP BY deptno;

第二步:找到姓名,但是以上的子查询,不能再出现其他的字段

复制代码
SELECT e.ename,e.sal
FROM emp e,(
    SELECT deptno dno,MIN(sal) sal
    FROM emp
    WHERE job=’MANAGER’
    GROUP BY deptno) temp
WHERE e.deptno=temp.dno AND e.sal=temp.sal AND e.job='MANAGER';
复制代码

第三步:加入部门的名称信息

复制代码
SELECT e.ename,e.sal,d.dname
FROM emp e,(
    SELECT deptno dno,MIN(sal) sal
    FROM emp
    WHERE job='MANAGER'
    GROUP BY deptno) temp,dept d
WHERE e.deptno=temp.dno AND e.sal=temp.sal AND e.job='MANAGER'
    AND e.deptno=d.deptno;
复制代码

第四步:统计部门人数

复制代码
SELECT e.ename,e.sal,d.dname,res.count
FROM emp e,(
    SELECT deptno dno,MIN(sal) sal
    FROM emp
    WHERE job=’MANAGER’
    GROUP BY deptno) temp,dept d,(
    SELECT deptno dno,COUNT(empno) count
    FROM emp
    GROUP BY deptno) res
WHERE e.deptno=temp.dno AND e.sal=temp.sal AND e.job='MANAGER'
    AND e.deptno=d.deptno AND res.dno=d.deptno;
复制代码

18、列出所有员工的年工资,所在部门名称,按年薪从低到高排序。

1、确定所需要的数据表:

  • emp表:统计年工资;
  • dept表:部门名称;

2、确定已知的关联字段:emp.deptno=dept.deptno;

SELECT e.ename,e.sal*12 income,d.dname
FROM emp e,dept d
WHERE e.deptno=d.deptno
ORDER BY income;

19、查出某个员工的上级主管及所在部门名称,并要求出这些主管中的薪水超过3000。

1、确定所需要的数据表:

  • emp表:员工的信息;
  • emp表:领导的信息;
  • dept表:部门名称;

2、确定已知的关联字段:

  • 雇员和部门:emp.deptno=dept.deptno;
  • 雇员和领导:emp.mgr=memp.empno;
SELECT DISTINCT m.ename,d.dname,m.sal
FROM emp e,emp m,dept d
WHERE e.mgr=m.empno AND m.deptno=d.deptno AND m.sal>3000;

20、求出部门名称中,带‘S’字符的部门员工的工资合计、部门人数。

1、确定所需要的数据表:

  • emp表:进行统计信息;
  • dept表:部门名称;

2、确定已知的关联字段:emp.deptno=dept.deptno;

SELECT d.dname,SUM(e.sal),COUNT(e.empno)
FROM emp e,dept d
WHERE e.deptno(+)=d.deptno AND d.dname LIKE%S%GROUP BY d.dname;

21、给任职日期超过30年或者在87年雇佣的雇员加薪,加薪原则:10部门增长10%,20部门增长20%,30部门增长30%,依次类推。

UPDATE emp SET
    sal=(1 + deptno/100)*sal
WHERE MONTHS_BETWEEN(SYSDATE,hiredate)/12>30
    OR TO_CHAR(hiredate,’yyyy’)=1987;

以上的所有题目作为DML操作的总结,这些题目结果都不重要,关键是解决问题的思路,这些只能通过代码的不断练习。

二、总结

1、 多表查询:在进行查询语句编写的时候,一定要确定所需要关联的数据表,而且只要是表的关联查询,就一定会存在笛卡尔积的问题,使用关联字段消除此问题。

在使用多表查询的时候要考虑到左右连接的问题,Oracle之外的数据库可以使用SQL:1999语法控制左右连接;

2、 所有的统计函数是用于进行数据统计操作的,而统计要在分组中进行(或者是单独使用),分组使用GROUP BY子句,是在某一列上存在重复数据的时候才会使用分组操作,而分组后的过滤使用HAVING子句完成,所有的分组函数可以嵌套,但是嵌套之后的分组函数之中不能再有其他的查询字段,包括分组字段;

3、 子查询:结合限定查询、多表查询、分组统计查询完成各个复杂查询的操作,子查询一般在WHERE和FROM之后出现较多;

4、 数据库的更新操作一定要受到事务的控制,事务的两个命令:COMMIT、ROLLBACK,每一个连接到数据库上的用户都使用一个SESSION表示;

5、 数据表的分页查询显示依靠ROWNUM伪列,以后在开发之中必定100%要使用。

分享到:
评论

相关推荐

    达内,tarena,oracle笔记,oraclePPT课件,达内oracle笔记

    在达内的Oracle笔记中,可能会详细讲解SELECT语句用于数据检索,INSERT、UPDATE、DELETE用于数据增删改,以及CREATE、ALTER、DROP用于数据库对象管理的语法和用法。 3. **数据库设计**:良好的数据库设计是确保系统...

    oracle 笔记总结

    以上只是Oracle笔记总结的一部分,Oracle数据库系统的深度和广度远不止于此,包括数据库设计、PL/SQL编程、数据库复制、数据迁移等都是Oracle学习的重要领域。通过深入学习和实践,你可以更好地理解和驾驭这个强大的...

    oraclePPT总结及笔记

    本资料“oraclePPT总结及笔记”是针对青软实训的学员们设计的一套全面的学习资源,旨在帮助他们深入理解和掌握Oracle数据库的相关知识。以下是基于这个主题的详细知识点讲解: 1. **Oracle数据库基础**: - 数据库...

    Oracle学习笔记

    根据提供的信息,我们可以总结出以下关于Oracle数据库的关键知识点: ### Oracle 学习笔记概述 从提供的标题、描述以及部分文本内容来看,这份“Oracle学习笔记”主要围绕Oracle数据库中的查询语句及其各种类型...

    李兴华Oracle笔记整理

    李兴华Oracle笔记整理是Oracle核心基础知识的总结,涵盖了Oracle的安装、SQLPlus基本命令、scott用户的表结构、增删改查、分页处理、事务处理、DDL、三范式、用户权限管理、数据的备份与恢复、PL/SQL等知识点。...

    个人学习oracle笔记

    这个“个人学习Oracle笔记”文件很可能是作者在深入学习Oracle数据库的过程中积累的知识点总结,旨在帮助初学者从基础开始逐步掌握Oracle的核心概念和技术。 Oracle数据库的基础知识包括以下几个主要方面: 1. **...

    Oracle笔记和总结,包含了ORACLE实际开发中大量列子

    这份"Oracle笔记和总结"无疑为初学者提供了宝贵的资源,涵盖了Oracle数据库的实际开发中的诸多关键知识点。 首先,Oracle数据库的基础部分包括了数据类型、表的创建、索引、视图以及存储过程的使用。数据类型是构建...

    数据库SQL oracle的笔记,比较全面的

    数据库SQL Oracle笔记全面解析 在IT领域,数据库是存储、管理与检索数据的核心工具,而Oracle作为世界上最流行的商业数据库管理系统之一,其强大的功能和广泛的应用使得掌握Oracle SQL变得至关重要。本笔记将涵盖...

    Oracle超详细学习笔记

    以上内容总结了Oracle中基本查询的相关知识点,包括最简单的查询、特定列的选择、直接量和算术表达式的使用、列别名、字符串链接、去重查询以及使用 `WHERE` 子句进行复杂条件过滤的方法。这些知识点对于初学者来说...

    oracle 学习笔记

    在学习Oracle数据库及SQL时,需要掌握以下几个关键知识点: 一、数据库介绍 1. 数据库是存储、管理和处理大量数据的系统,表是存储数据的基本单位。 2. 数据库标准语言主要指的是SQL(Structured Query Language)...

    oracle最全学习笔记(个人总结)

    ### Oracle 最全学习笔记知识点梳理 #### 一、存储过程 - **定义**:存储过程是一种在数据库中存储复杂程序以便外部程序调用的一种数据库对象。 - **应用场景**:主要用于执行大量的更新或插入操作,以提高数据库...

    数据库(Oracle)达内培训笔记

    根据提供的信息,我们可以总结出以下关于“数据库(Oracle)达内培训笔记”的关键知识点: ### 数据库基础概念 - **数据库(Database)**:一种用于存储、管理和检索数据的系统。 - **数据库管理系统(DBMS)**:软件...

    Oracle 数据库笔记.rar

    总结来说,“Oracle数据库笔记”可能涵盖了从基本的SQL语法到高级特性的全方位讲解,包括数据库实例、存储结构、SQL查询、事务管理、视图和存储过程、索引、安全性、备份恢复以及高可用性。无论你是初学者还是经验...

    Oracle笔记.docx

    本笔记将重点总结Oracle的一些常用操作和概念。 1. **Oracle数据库实例、用户、目录及Session会话** - **Oracle SID**:SID(System Identifier)是Oracle数据库实例的标识符,用于区分同一台服务器上的多个Oracle...

    OracleSQL笔记

    ### Oracle SQL 笔记知识点详解 #### 一、SQLPlus 命令及环境变量 Oracle_sid - **SQLPlus 命令位置**:在 Oracle 安装目录下的 `bin` 文件夹中,可以通过 SQLPlus 来执行 SQL 命令。 - **Oracle_sid 环境变量**:...

    oracle学习笔记2013(+安装、卸载)

    ### Oracle笔记篇 存储过程和存储函数是Oracle数据库编程的重要组成部分。它们允许开发者将复杂的业务逻辑封装在数据库内部,这样不仅可以提高业务执行的效率,还可以减少网络传输的数据量。在笔记中,详细地讲解了...

    oracle学习笔记

    从给定的文件信息来看,这是一份...总结来说,Oracle的学习手册深入浅出地介绍了OLAP与OLTP的区别、索引的原理和使用技巧,为初学者提供了宝贵的指南。理解这些概念和技术,对于有效地管理和优化Oracle数据库至关重要。

    oracle笔记

    总结,Oracle笔记涵盖了数据库的基础知识、对象管理、并发控制、备份恢复、性能调优和安全性等多个方面。通过深入学习和实践,你可以更好地理解和运用Oracle数据库,满足企业对数据管理的需求。

    oracle课堂笔记

    ### Oracle课堂笔记知识点总结 #### Oracle数据库概述 - **Oracle** 是一款由Oracle公司开发的关系型数据库管理系统(RDBMS)。自Oracle 8版本开始,它支持互联网技术,并且不断推出新版本,如Oracle 8i(Internet...

Global site tag (gtag.js) - Google Analytics