复习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

在复习的时候我看了这个 感觉还是有帮助的


你可能感兴趣的:(oracle,concept)