两个表的并集,但不显示重复行。执行的时候要先排序再剔重,所以结果集是有序的。
union all
也是两个表的并集,而且显示重复行。
语法同上。
intersect
select employee_id;job_id from employees
intersect
select employee_id;job_id from job_history;
minus
select employee_id;job_id from employees
minus
select employee_id;job_id from job_history;
e…j=e…e 与j的交集;
j…e=j…j 与e的交集;
注:在 select 列表中的表达式必须有同样的数目和类型。
匹配 SELECT 语句
select employee_id;job_id;salary from employees
union
select employee_id;job_id;0 from job_history;
括号可以用拉修改序列的执行顺序。
4。ORDER BY 子句:
只能在整个集合的最后出现;
可以按照第一个 SELECT 语句中的列名,别名或者位置号排序。
第 42 页,共 106 页
…………………………………………………………Page 43……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
5。GROUP BY 子句的增强
CUBE 操作符的 GROUP BY
在 GROUP BY 子句中使用 ROLLUP 或者 CUBE 来产生分组小计;
ROLLUP 分组产生包括规则的分组结果和小计的结果的组合;
GROUP BY 'ROLLUP'(col_name_list)
ROLLUP:
a ab abc
abc
ab ab
a a a
all all all
CUBE 分组产生包括 ROLLUP 产生的结果和交叉分组小计。
cube:
a ab abc
a ab abc
all a ab
b ac
all bc
a
b
c
all
6。GROUPING 函数
参数一定是在 CUBE 或 ROLLUP 里进行分组排序的字段或表达式之一。
通过 1 或0来判断结果集中的空值是由于本身列的值是空的,还是由于使用 CUBE或 ROLLUP 产
生的空值。
1 代表是由于分组产生的空值,没有参与分组。
0 代表是由于列本身产生的空值,参与了分组,但分组中没有包含它。
GROUPING SETS
可以使用 GROUPING SETS 在同一个语句中定义多个组集。
只需要访问一次基表。
不需要写很复杂的 UNION 语句。
GROUPING SETS 子句中组合的元素越多,语句的执行性能就越好。
group by GROUPING SETS((abc);(ab);(bc);(a);(b))
组合列:
是一个列的组合,在分组计算时被作为一个单元处理。
第 43 页,共 106 页
…………………………………………………………Page 44……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
2。9 高级子查询
1。 成对子查询:
行内视图的性能比成对子查询的性能高。
相关子查询:
主查询的字段在子查询里做条件(特征)。
主查询先执行,取出第一条数据,把该数据传入子查询做比较,返回查询结果给主查询,主查
询根据这个结果再做查询
依次类推
直到主查询中没有可查询列为止。
EXISTS 操作符
EXISTS 操作符测试子查询的结果是否存在;
返回 TRUE 或 FALSE
查询机制:
如果一个子查询找到了结果:
在内部子查询中不在继续执行,条件被设为 TRUE
如果一个子查询没有找到结果:条件被设为 FALSE
select col_list from table_name tab_alias
where exists (select "x" from table_name where col=tab_alias。col);
用的是相关子查询
NO EXISTS 操作符
和 NOT IN 相对应,速度要快,性能好。
UPDATE 中的相关子查询
update emp e
set department_name in(select d。department_name from departments d where
e。department_id=d。department_id);
delete 中的相关子查询
2。层次查询
select 'level';column;expr from table 'where condition'
'start with'起点(自底向上/自顶向下)
'connect by prior + 主键/外键=外键/主键'//看你往哪个方向查
自顶向下 左边放主键,右边放外键
select employee_id;last_name;salary;job_id;manager_id
from employees
start with manager_id is null
connect by prior employee_id=manager_id;
自底向上 右边放主键,左边放外键
level(伪列)
层次的级别:不固定值。
第 44 页,共 106 页
…………………………………………………………Page 45……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
使用 level 和 LPAD 层次化格式的显示
修剪分支
Oracle 9i 对 DML 和DDL 语句的扩展
多表插入的 INSERT 语句
insert 。。。。 select 语句可以被用来在单个 DML 语句中向多个表插入数据。
多表插入语句:
无条件 INSERT
条件 ALL INSERT
条件 FIRST INSERT
轮巡 INSERT
二、Management:
1。Oracle的构件和组件
instance 实例/例程
database 数据库
SGA 系统全局区
shared pool 共享池
library cache 库高速缓存区
data dictionary cache 字典高速缓存区
database buffer cache 数据库高速缓存区
redo log buffer 重做日志缓冲区
java pool java 池
large pool 大池
PMON 进程监视进程
SMON 系统监视进程
DBWR 数据库写进程
LGWR 日志写进程
CKPT 检查点进程
data file 数据文件
control file 控制文件
redo log file 重做日志文件
parameter file 初始化参数文件
password file 口令文件
archived log file 归档日志文件
user process 用户进程
server process 服务进程
PGA 程序全局区
tablespace 表空间
第 45 页,共 106 页
…………………………………………………………Page 46……………………………………………………………
资源来自网络,仅供学习! Oracle 从入门到精通
2。数据库的物理结构:
1。控制文件
2。 数据文件
3。 重做日志文件
4。 data file 数据文件:
5。 作用:存放数据。
6。 数据文件大小可以扩展。
7。 tablespace 表空间:一个或多个数据文件的逻辑组成。
一个数据库最少有一个 system 表空间,一个表空间最少有一个数据文件。
8。 redo log file 重做日志文件
重做日志:在数据库中发生的所有改变,改变的每一条信息都叫做一条重做日志信息。
存放重做日
小说推荐
- VB2008从入门到精通(PDF格式英文版)
- -Page 1(R)The eXperT’s Voice inBeginningVB 2008From Novice to ProfessionalChristian Gross-Page 2-Page 3-Beginning VB 2008From Novice to Professional■C
- 其他
- 最新章:第214章
- C语言游戏编程从入门到精通(PDF格式)
- -Page 1-Page 2-Page 3-Page 4-Page 5-Page 6-Page 7-Page 8-Page 9-Page 10-Page 11-Page 12-Page 13-Page 14
- 其他
- 最新章:第4章
- VC语言6.0程序设计从入门到精通
- -Page 1-Visual C 6.0 程序设计从入门到精通求是科技 王正军 编著
- 其他
- 最新章:第136章
- SQL 21日自学通(V3.0)(PDF格式)
- -Page 1-SQL 21 日自学通(V1.0 翻译人 笨猪目录目录 1译者的话 14第一周概貌 16从这里开始 16
- 其他
- 最新章:第170章
- 深入浅出MFC第2版(PDF格式)
- -Page 1-Page 2-山高月小山高月小 水落石出水落石出山高月小山高月小 水落石出水落石出-Page 3-深入淺出MFC(第版 使用Visual C 5.0 MFC 4.2)Dissecting MFC(Second Edition Using Visual C 5.0 MFC 4.2)侯俊
- 其他
- 最新章:第309章
- JMS简明教程(PDF格式)
- -Page 1-JMS1.1规范中文版卫建军2007‐11‐22-Page 2
- 其他
- 最新章:第28章
- SQL语言艺术(PDF格式)
- -Page 1-SQLSSQQLL语言艺术内容介绍本书分为12章,每一章包含许多原则或准则,并通过举例的方式对原则进行解释说明。这些例子大多来自于实际案例,对九种SQL经典查询场景以及其性能影响讨论,非常便于实践,为你数据库应用维护人员阅读。资深 SQL 专家 Stéphane Faroult倾力打
- 其他
- 最新章:第27章
- JSP入门教程(DOC格式)
- -Page 1-jsp 入门教程0.0.1版权(c 2008 叮咚老菜鸟叮咚对文档的任何问题或建议,请给叮咚发邮件或留言。QQ:475784337QQ 群:51239192MSN:lingirl6@hotmail.EMAIL:lingirl6@hotmail.2008-02-28 20:05:061
- 其他
- 最新章:第37章
- C语言实例教程(PDF格式)
- -Page 1-前 言Visual C+是开发运行于Windows 95和Windows NT环境下的Win32应用程序的可视化编程工具中最重要的成员之一,它为软件开发人员提供了完整的编辑、编译和调试工具和建立于Win32 API(ApplicationProgramming Interface)基
- 其他
- 最新章:第143章