首页 > 代码库 > 复习Oracle中的一点知识
复习Oracle中的一点知识
Oracle 10g
Oracle是为网格计算而设计的 10g中的g就是指grid computing
Oracle将数据存储在文件中,保存不同信息的文件(数据文件,控制文件,日志文件)就组成了数据库的物理结构
逻辑结构:schema, extent, data block, segment
Schema 数据库对象的集合,创建用户时会生成一个与用户同名的Schema,Schema 直接处理data的逻辑结构(table, view, index, clusters)
View -- 虚拟的,可以看做是一个存储的查询,不包含数据知识从基表中读取数据
Index -- 提供对表数据的访问路径,提高读取数据的效率
Cluster -- 将共享公共列的表在物理上存储在一起 行成cluster
Transaction:
Atomic:所有的语句要么全部执行,要么全部取消
Consistency:不能破坏DB完整性,所有数据应遵循DB中的各种约束和规则
Isolation:同时运行时,不同的transaction之间互不干扰
Durability:执行成功后,所有操作的结果都会永久保持
一些高级查询:
Distinct:消除重复行
NULL -- 条件 IS NULL, 非NULL -- NOT IS NULL
IN -- 在where子句中查询其列值在指定的列表中的行。NOT IN
BETWEEN ... AND ... -- 在where子句中查询列值包含在指定区间内的行
LIKE -- 模糊查询 ‘%‘, ‘_‘ %表示0个或多个任意字符,_表示一个任意字符
集合运算:将多个结果集组合成一个结果集
INTERSECT(交集) -- 返回两个查询共有的结果
UNION ALL -- 返回查询的所有记录 包含重复记录
UNION -- 返回查询的所有记录 不包含重复记录
MINUS -- 补集 返回第一个查询记录减去第二个查询记录之后的剩余的记录
连接查询:inner join, outer join (left outer join, right outer join)
(+) 是oracle专用的连接符,在条件中出现在左边表示right outer join,出现在邮编表示left outer join
SubQuery
对于subquery 主要注意ANY ALL IN的一些用法 在面试的时候遇到了 我就是没想起来。。。其实很简单的
伪列:ROWID, ROWNUM
ROWNUM可以用来实现数据库分页
函数:
单行函数:字符函数,数字函数,转换函数,日期函数,NVL(x, value), NVL2(x, value1, value2)
聚合函数:SUM, AVG, COUNT, MIN, MAX
其实Oracle还有很多很多知识点 还有partition pagination什么的 这次先整理一些很基础的东西 慢慢的再增加
特别感谢http://wenku.baidu.com/link?url=OFjIZA_tCmadBvuDg9l8kQ4BqUoCHRBE7CqZvARS9tSc6zrjVx5K2WwY8V5bICbRUO9qS4L4Gwz-PwEk9bnPnNrZA0Vd0qYq6K0CoIJsbUS
在复习的时候我看了这个 感觉还是有帮助的