Chen Xingxu Blog

Study Share Communicate

Oracle数据库学习笔记(二十一)

PL/SQL中的if判断

Oracle数据库学习笔记(二十一)–PL/SQL中的if判断 案例 输入小于 18 的数字,输出未成年;输入大于 18 小于 40 的数字,输出中年人;输入大于 40 的数字,输出老年人 declare i number(3) := &ii; begin if i<18 then dbms_output.put_line('未成年'); elsif ...

Oracle数据库学习笔记(二十)

PL/SQL编程语言定义变量

Oracle数据库学习笔记(二十)–PL/SQL编程语言定义变量 PL/SQL 编程语言概念 PL/SQL 编程语言是对 SQL 语言的扩展,使得 SQL 语言具有过程化编程的特性,比一般的过程化编程语言更加灵活高效。PL/SQL 编程语言主要用来编写存储过程和存储函数等。 PL/SQL 程序语法: DECLARE 说明部分 (变量说明,游标申明,例外说明〕 BEGIN 语句序列...

Oracle数据库学习笔记(十九)

索引

Oracle数据库学习笔记(十九)–索引 索引的概念 索引就是在表的列上构建一棵二叉树,达到大幅度提高查询效率的目的,但是索引会影响增删改的效率。 比如说,我们将表看作是书,一开始这些书都是没有目录的,如果要查找某一段文字,需要一页一页的去翻,查询效率特别低。为了提高查找的效率,我们就在每本书上添加一个目录,而这个目录是用二叉树形式存储的,这样查询的效率就会大幅度提高。书中的目录就是表...

Oracle数据库学习笔记(十八)

视图

Oracle数据库学习笔记(十八)–视图 视图概念 视图就是提供一个查询的窗口,里面没有存放数据,所有数据都来自于原表。 视图的作用: 视图可以屏蔽掉一些敏感字段。比如为了防止员工看到工资,可以创建一个视图,把工资那一列屏蔽掉。 保证总部和分部数据及时统一。比如总部和分部共同销售一种商品,总部这边销售一件出去了,分部通过查询视图可以及时更新商品的库存数据。如果分部与总部各自...

Oracle数据库学习笔记(十七)

分页查询

Oracle数据库学习笔记(十七)–分页查询 rownum行号的概念 当我们做 SELECT 操作的时候,每查询出一行记录,就会在该行上加上一个行号,行号从 1 开始,依次递增,不能跳着走。 学习笔记 emp 表工资倒序排列后,每页五条记录,查询第二页 SELECT * FROM ( SELECT rownum AS rn, tt.* FROM ( SELECT * F...

Oracle数据库学习笔记(十六)

子查询

Oracle数据库学习笔记(十六)–子查询 子查询返回一个值 查询出工资和 SCOTT 一样的员工信息 SELECT * FROM emp WHERE sal IN ( SELECT sal FROM emp WHERE ename = 'SCOTT' ); 分步解析: 1、先查询出 SCOTT 的工资 SELECT sal FROM emp WHERE ename = ...

Oracle数据库学习笔记(十五)

自连接

Oracle数据库学习笔记(十五)–自连接 自连接其实就是站在不同的角度把一张表看成多张表。 1、查询出员工姓名,员工领导姓名 SELECT e1.ename, e2.ename FROM emp e1, emp e2 WHERE e1.mgr = e2.empno; 此时可将 e1 表看成是员工表,e2 表看成是领导表,因为 e1 的领导是 e2 的员工编号。 2、查询出员工姓...

Oracle数据库学习笔记(十四)

多表查询中的一些概念

Oracle数据库学习笔记(十四)–多表查询中的一些概念 1、笛卡尔积 通俗点说就是就是两张表的数据进行相乘,一张表的所有记录一一和另一张表的所有记录做匹配。 SELECT * FROM emp e, dept d; 当两张表的数据量比较大,又需要连接查询时,应尽量避免笛卡尔积,因为会增加内存的开销,而且使用笛卡尔积产生的数据大多是没有用的。 2、等值连接 SELECT * F...

Oracle数据库学习笔记(十三)

分组查询

Oracle数据库学习笔记(十三)–分组查询 学习笔记 1、查询出每个部门的平均工资 SELECT e.deptno, AVG(e.sal) FROM emp e GROUP BY e.deptno; 分组查询中,出现在 GROUP BY 后面的原始列,才能出现在 SELECT 后面,没有出现在 GROUP BY 后面的列,想在 SELECT 后面,必须加上聚合函数。聚合函数有一个...

Oracle数据库学习笔记(十二)

多行函数(聚合函数)

Oracle数据库学习笔记(十二)–多行函数(聚合函数) 概念 作用于多行,返回一个值。 学习笔记 1、查询总数量 SELECT COUNT(1) FROM emp; COUNT(1) 和 COUNT(*) 底层都是一样的,推荐使用 COUNT(1)。当然,填写某个具体列名,比如 COUNT(EMPNO) 也是可以的。 2、查询工资总和 SELECT SUM(sal) FR...