Oracle数据库学习第二天
目录:
子查询:
-
为什么要有子查询
-
子查询的本质
-
子查询类型
-
子查询使用注意事项
-
子查询与多表查询效率问题
-
子查询放置的位置
-
单行子查询
-
多行子查询
-
子查询遇见空值问题
-
not in和in的逻辑关系分析
-
ROWNUM(伪列)的用法
-
Oracle分页
-
练习:找到员工表中薪水大于本部门平均薪水的员工
集合运算:
-
集合运算分类
-
并集
-
交集
-
差集
-
集合运算的注意事项
DML:
-
Sql语言的类型
-
INSERT语句
-
UPDATE语句
-
DELETE语句
-
delete和truncate的区别
数据库事务:
-
基础概念
-
COMMIT与ROLLBACK
-
数据库隔离级别
数据类型
常见的数据库对象——表:
-
常见的数据库对象
-
表和列的命名规则
-
创建表
-
使用子查询创建表
-
DEFAULT值应用(创建表时初始化操作)
-
查询其他用户的表
-
ALTER TABLE语句
-
删除表
-
改变对象的名称
-
清空表
常见的数据库对象——视图:
-
基础概念——视图
-
关于视图的基本操作
-
视图与DML
常见的数据库对象——序列:
-
基础概念——序列
-
关于序列的基本操作
常见的数据库对象——索引:
-
基础概念——索引
-
关于索引的基本操作
同义词
约束:
-
约束的概念
-
约束的类型
Oracle回收站
Oracle数据库学习第二天对应练习题
为什么要有子查询:
通过子查询可以把本来需要两步才可以完成的问题一步就可以搞定。
子查询的本质:多个select语句的嵌套
子查询类型:按照子查询返回的条目数,可以分为单行子查询和多行子查询
子查询使用注意事项:
一般情况下,子查询返回的是一个集合。且子查询不排序,Top-N问题除外。
子查询与多表查询效率问题:
子查询放置的位置:
解释在列的位置放置子查询的情况:
解释在from后面放置子查询的情况:
单行子查询:
例:查询和141号工种一样的,并且比143号员工薪水高的员工信息:
例:查询薪水最低的员工信息:
例:查询每部门编号和部门最小工资,并且这个部门最低工资大于50号部门的最低工资:
多行子查询:
ANY:大于集合中的最小值(小于集合中的最大值)
ALL:大于集合中的最大值(小于集合中的最小值)
例:查询部门名称是SALES或ACCOUNTING 的员工信息:
子查询遇见空值问题:
not in和in的逻辑关系分析:
ROWNUM(伪列)的用法:
例:求不排序的前三条员工信息:
例:找到员工表中工资最高的前三名:
Oracle分页:
例题:找到员工表中工资排名位于5到8的员工信息(每4名员工算一页):
错误示范:
正确示范:
练习:找到员工表中薪水大于本部门平均薪水的员工
方法1:
方法2:
集合运算分类:
并集:
交集:
差集:
集合运算的注意事项:
Sql语言的类型:
DML语句 (Data Manipulation Language) 数据操作语言
例:insert update delete select
INSERT语句:
UPDATE语句:
DELETE语句:
delete和truncate的区别:
基础概念:
COMMIT与ROLLBACK:
数据库隔离级别:
read-only:Oracle独有的,允许多个进程同时读数据。因为只是读操作,不影响其他的操作。
数据类型:
常见的数据库对象:
表和列的命名规则:
创建表:
使用子查询创建表:
DEFAULT值应用(创建表时初始化操作):
查询其他用户的表:
ALTER TABLE语句:
删除表:
改变对象的名称:
清空表:
基础概念——视图:
关于视图的基本操作:
视图与DML:
基础概念——序列:
关于序列的基本操作:
基础概念——索引:
关于索引的基本操作:
同义词:
约束的概念:
约束的类型:
Oracle回收站: