热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

第2版_《精通OracleSQL(第2版)》PDF

篇首语:本文由编程笔记#小编为大家整理,主要介绍了《精通OracleSQL(第2版)》PDF相关的知识,希望对你有一定的参考价值。一:下

篇首语:本文由编程笔记#小编为大家整理,主要介绍了《精通Oracle SQL(第2版)》PDF相关的知识,希望对你有一定的参考价值。




一:下载途径

image


二:图书图样

1-15050G00F5108


三:目录

第1章 SQL核心 
1.1 SQL语言 
1.2 数据库的接口 
1.3 SQL*Plus回顾 
1.3.1 连接到数据库 
1.3.2 配置SQL*Plus环境 
1.3.3 执行命令 
1.4 5个核心的SQL语句 
1.5 SELECT语句 
1.5.1 FROM子句 
1.5.2 WHERE子句 
1.5.3 GROUP BY子句 
1.5.4 HAVING子句 
1.5.5 SELECT列表 
1.5.6 ORDER BY子句 
1.6 INSERT语句 
1.6.1 单表插入 
1.6.2 多表插入 
1.7 UPDATE语句 
1.8 DELETE语句 
1.9 MERGE语句 
1.10 小结 

第2章 SQL执行 
2.1 Oracle架构基础 
2.2 SGA共享池 
2.3 库高速缓存 
2.4 完全相同的语句 
2.5 SGA缓冲区缓存 
2.6 查询转换 
2.6.1 查询块 
2.6.2 视图合并 
2.6.3 子查询解嵌套 
2.6.4 联结消除 
2.6.5 排序消除 
2.6.6 谓词推进 
2.6.7 使用物化视图进行查询重写 
2.7 确定执行计划 
2.8 执行计划并取得数据行 
2.9 SQL执行——总览 
2.10 小结 

第3章 访问和联结方法 
3.1 全扫描访问方法 
3.1.1 如何选择全扫描操作 
3.1.2 全扫描与舍弃 
3.1.3 全扫描与多块读取 
3.1.4 全扫描与高水位线 
3.2 索引扫描访问方法 
3.2.1 索引结构 
3.2.2 索引扫描类型 
3.2.3 索引唯一扫描 
3.2.4 索引范围扫描 
3.2.5 索引全扫描 
3.2.6 索引跳跃扫描 
3.2.7 索引快速全扫描 
3.3 联结方法 
3.3.1 嵌套循环联结 
3.3.2 排序—合并联结 
3.3.3 散列联结 
3.3.4 笛卡儿联结 
3.3.5 外联结 
3.4 小结 

第4章 SQL是关于集合的 
4.1 以面向集合的思维方式来思考 
4.1.1 从面向过程转变为基于集合的思维方式 
4.1.2 面向过程与基于集合的思维方式:例子 
4.2 集合运算 
4.2.1 UNION和UNION ALL 
4.2.2 MINUS 
4.2.3 INTERSECT 
4.3 集合与空值 
4.3.1 空值与非直观结果 
4.3.2 空值与集合运算 
4.3.3 空值与GROUP BY和ORDER BY 
4.3.4 空值与聚合函数 
4.4 小结 

第5章 提出问题 
5.1 问出好的问题 
5.2 提问的目的 
5.3 问题的种类 
5.4 问题的问题 
5.5 数据的问题 
5.6 建立逻辑表达式 
5.7 小结 

第6章 SQL执行计划 
6.1 解释计划 
6.1.1 使用解释计划 
6.1.2 PLAN_TABLE 
6.1.3 分解计划 
6.1.4 导致解释计划未达目的的原因 
6.1.5 阅读计划 
6.1.6 访问和筛选谓语 
6.1.7 使计划便于阅读 
6.2 执行计划 
6.2.1 查看最近生成的SQL语句 
6.2.2 查看相关执行计划 
6.2.3 收集执行计划统计信息 
6.2.4 标识SQL语句以便以后取回计划 
6.2.5 深入理解DBMS_XPLAN 
6.2.6 使用SQL监控报告 
6.2.7 使用计划信息解决问题 
6.3 小结 

第7章 高级分组 
7.1 基本的GROUP BY用法 
7.2 HAVING子句 
7.3 GROUP BY的“新”功能 
7.4 GROUP BY的CUBE扩展 
7.5 CUBE的实际应用 
7.6 用GROUPING()函数排除空值 
7.7 用GROUPING()扩展报告 
7.8 用GROUPING_ID()扩展报告 
7.9 GROUPING SETS与ROLLUP() 
7.10 GROUP BY局限性 
7.11 小结 

第8章 分析函数 
8.1 概览 
8.2 示例数据 
8.3 分析函数剖析 
8.4 函数列表 
8.5 聚合函数 
8.5.1 跨越整个分区的聚合函数 
8.5.2 细粒度窗口声明 
8.5.3 默认窗口声明 
8.6 lead和lag 
8.6.1 语法和排序 
8.6.2 例1:从前一行中返回一个值 
8.6.3 理解数据行的位移 
8.6.4 例2:从下一行中返回一个值 
8.7 first_value和last_value 
8.7.1 例子:使用first_value计算最大值 
8.7.2 例子:使用last_value计算最小值 
8.8 其他分析函数 
8.8.1 nth_value 
8.8.2 rank 
8.8.3 dense_rank 
8.8.4 row_number 
8.8.5 ratio_to_report 
8.8.6 percent_rank 
8.8.7 percentile_cont 
8.8.8 percentile_disc 
8.8.9 NTILE 
8.8.10 stddev 
8.8.11 listagg 
8.9 性能调优 
8.9.1 执行计划 
8.9.2 谓词 
8.9.3 索引 
8.10 高级话题 
8.10.1 动态SQL 
8.10.2 嵌套分析函数 
8.10.3 并行 
8.10.4 PGA大小 
8.11 组织行为 
8.12 小结 

第9章 MODEL子句 
9.1 电子表格 
9.2 使用MODEL子句实现跨行引用 
9.2.1 示例数据 
9.2.2 剖析MODEL子句 
9.2.3 规则 
9.3 位置和符号引用 
9.3.1 位置标记 
9.3.2 符号标记 
9.3.3 FOR循环 
9.4 返回更新后的行 
9.5 求解顺序 
9.5.1 行求解顺序 
9.5.2 规则求解顺序 
9.6 聚合 
9.7 迭代 
9.7.1 示例 
9.7.2 PRESENTV与空值 
9.8 查找表 
9.9 空值 
9.10 使用MODEL子句进行性能调优 
9.10.1 执行计划 
9.10.2 谓词推进 
9.10.3 物化视图 
9.10.4 并行 
9.10.5 MODEL子句执行中的分区 
9.10.6 索引 
9.11 子查询因子化 
9.12 小结 

第10章 子查询因子化 
10.1 标准用法 
10.2 用WITH定义PL/SQL函数 
10.3 SQL优化 
10.3.1 测试执行计划 
10.3.2 测试查询改变的影响 
10.3.3 寻找其他优化机会 
10.3.4 将子查询因子化应用到PL/SQL中 
10.4 递归子查询 
10.4.1 CONNECT BY示例 
10.4.2 RSF示例 
10.4.3 RSF的限制条件 
10.4.4 与CONNECT BY的不同点 
10.5 复制CONNECT BY的功能 
10.5.1 LEVEL伪列 
10.5.2 SYS_CONNECT_BY_PATH函数 
10.5.3 CONNECT_BY_ROOT运算符 
10.5.4 CONNECT_BY_ISCYCLE伪列和NOCYCLE参数 
10.5.5 CONNECT_BY_ISLEAF伪列 
10.6 小结 

第11章 半联结和反联结 
11.1 半联结 
11.2 半联结执行计划 
11.3 控制半联结执行计划 
11.3.1 使用提示控制半联结执行计划 
11.3.2 在实例级控制半联结执行计划 
11.4 半联结限制条件 
11.5 半联结必要条件 
11.6 反联结 
11.7 反联结执行计划 
11.8 控制反联结执行计划 
11.8.1 使用提示控制反联结执行计划 
11.8.2 在实例级控制反联结执行计划 
11.9 反联结限制条件 
11.10 反联结必要条件 
11.11 小结 

第12章 索引 
12.1 理解索引 
12.1.1 什么时候使用索引 
12.1.2 列的选择 
12.1.3 空值问题 
12.2 索引结构类型 
12.2.1 B-树索引 
12.2.2 位图索引 
12.2.3 索引组织表 
12.3 分区索引 
12.3.1 局部索引 
12.3.2 全局索引 
12.3.3 散列分区与范围分区 
12.4 与应用特点相匹配的解决方案 
12.4.1 压缩索引 
12.4.2 基于函数的索引 
12.4.3 反转键索引 
12.4.4 降序索引 
12.5 管理问题的解决方案 
12.5.1 不可见索引 
12.5.2 虚拟索引 
12.5.3 位图联结索引 
12.6 小结 

第13章 SELECT以外的内容 
13.1 INSERT 
13.1.1 直接路径插入 
13.1.2 多表插入 
13.1.3 条件插入 
13.1.4 DML错误日志 
13.2 UPDATE 
13.2.1 CTAS与UPDATE的差别 
13.2.2 INSERT APPEND与UPDATE的差别 
13.3 DELETE 
13.4 MERGE 
13.4.1 语法和用法 
13.4.2 性能比较 
13.5 小结 

第14章 事务处理 
14.1 什么是事务 
14.2 事务的ACID属性 
14.3 事务隔离级别 
14.4 多版本读一致性 
14.5 事务控制语句 
14.5.1 Commit(提交) 
14.5.2 Savepoint(保存点) 
14.5.3 Rollback(回滚) 
14.5.4 Set Transaction(设置事务) 
14.5.5 Set Constraints(设置约束) 
14.6 将运算分组为事务 
14.7 订单录入模式 
14.8 活动事务 
14.9 使用保存点 
14.10 序列化事务 
14.11 隔离事务 
14.12 自治事务 
14.13 小结 

第15章 测试与质量保证 
15.1 测试用例 
15.2 测试方法 
15.2.1 单元测试 
15.2.2 回归测试 
15.2.3 模式修改 
15.2.4 重复单元测试 
15.3 执行计划比较 
15.4 性能测量 
15.4.1 在代码中加入性能测量 
15.4.2 性能测试 
15.5 破坏性测试 
15.6 使用性能测量进行系统检修 
15.7 小结 

第16章 计划稳定性 
16.1 计划不稳定性:理解这个问题 
16.1.1 统计信息的变化 
16.1.2 运行环境的改变 
16.1.3 SQL语句的改变 
16.1.4 绑定变量窥视 
16.1.5 自适应游标共享 
16.2 统计信息反馈 
16.3 识别执行计划的不稳定性 
16.3.1 抓取当前运行查询的数据 
16.3.2 查看语句的性能历史 
16.3.3 按照执行计划聚合统计信息 
16.3.4 寻找执行计划的统计方差 
16.3.5 在一个时间点附近检查偏差 
16.4 小结 

第17章 计划控制 
17.1 执行计划控制:解决问题 
17.1.1 调整查询结构 
17.1.2 适当使用常量 
17.1.3 给优化器一些提示 
17.2 执行计划控制:不能直接访问代码 
17.2.1 选项1:改变统计信息 
17.2.2 选项2:改变数据库参数 
17.2.3 选项3:增加或移除访问路径 
17.2.4 选项4:应用基于提示的执行计划控制机制 
17.2.5 大纲 
17.2.6 SQL概要文件 
17.2.7 SQL执行计划基线 
17.2.8 SQL补丁 
17.2.9 基于提示的计划控制机理小结 
17.3 小结 

第18章 其他SQL结构 
18.1 条件逻辑结构 
18.1.1 DECODE 
18.1.2 CASE 
18.1.3 NVL、NVL2和COALESCE 
18.1.4 NULLIF 
18.2 PIVOT/UNPIVOT查询 
18.2.1 PIVOT 
18.2.2 UNPIVOT 
18.3 生成测试数据的SQL 
18.3.1 想要得到什么样的数据 
18.3.2 CONNECT BY 
18.3.3 MODEL子句 
18.3.4 递归WITH子句 
18.3.5 数据生成小结 
18.4 小结



推荐阅读
  • Java 零基础入门:SQL Server 学习笔记(第21篇)
    Java 零基础入门:SQL Server 学习笔记(第21篇) ... [详细]
  • 技术日志:深入探讨Spark Streaming与Spark SQL的融合应用
    技术日志:深入探讨Spark Streaming与Spark SQL的融合应用 ... [详细]
  • PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解
    PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解 ... [详细]
  • 本文详细探讨了如何有效解决Oracle数据库中常见的ORA-01578和ORA-26040错误。这些错误通常与数据块损坏有关,严重影响数据库的稳定性和数据完整性。文章不仅提供了详细的故障诊断步骤,还介绍了多种修复方法,包括使用RMAN工具、手动修复数据块以及预防措施,以帮助数据库管理员高效应对这些问题。 ... [详细]
  • 本文深入分析了Django框架中模型应用与非模型应用的区别与应用场景,详细对比了两者在数据处理、性能表现及开发灵活性等方面的特点。同时,文章还介绍了如何在视图函数中有效利用这些特性,结合PostgreSQL、MySQL、SQLite3和Oracle等不同数据库的配置与使用方法,为开发者提供了全面的参考指南。 ... [详细]
  • 从用户转型为开发者:一场思维升级的旅程 | 专访 StarRocks Committer 周威
    从用户转变为开发者,不仅是一次角色的转换,更是一场深刻的思维升级之旅。本次专访中,StarRocks Committer 周威分享了他如何在这一过程中逐步提升技术能力与思维方式,为开源社区贡献自己的力量。 ... [详细]
  • 2019年后蚂蚁集团与拼多多面试经验详述与深度剖析
    2019年后蚂蚁集团与拼多多面试经验详述与深度剖析 ... [详细]
  • 宏基因组学经典文献重现(一):利用ggplot2进行散点图可视化分析
    宏基因组学经典文献重现(一):利用ggplot2进行散点图可视化分析 ... [详细]
  • 题目《UVa 11978 福岛核爆问题》涉及圆与多边形交集面积的计算及二分法的应用。该问题的核心在于通过精确的几何运算与高效的算法实现来解决复杂图形的面积计算。在实现过程中,特别需要注意的是对多边形顶点的平移处理,确保所有顶点包括最后一个顶点 \( p[n] \) 都经过正确的位移,以避免因细节疏忽导致的错误。此外,使用循环次数为50次的二分法能够有效提高算法的精度和稳定性。 ... [详细]
  • 在 Oracle 数据库中,`NULLS FIRST` 和 `NULLS LAST` 是 `ORDER BY` 子句中用于控制空值排序位置的关键字。当使用 `NULLS FIRST` 时,无论排序顺序是升序 (`ASC`) 还是降序 (`DESC`),包含空值的记录都会被排列在结果集的最前面。相反,`NULLS LAST` 则确保空值记录被放置在结果集的最后。这些关键字提供了灵活的排序选项,特别是在处理包含大量空值的数据集时,能够更好地满足不同的业务需求。 ... [详细]
  • NOI题库(noi.openjudge.cn):1.7 编程基础之字符串 T31 至 T35 详解与解析
    T31至T35题目详细解析了字符串处理的基础编程技巧。其中,T31涉及P型编码,要求将一个仅包含数字字符的字符串转换为特定格式的编码串。例如,输入字符串“111223”应输出相应的P型编码结果。其他题目则涵盖了字符串的多种操作和变换方法,包括但不限于子串提取、字符替换和模式匹配等,旨在提升编程者对字符串处理的综合能力。 ... [详细]
  • 掌握DSP必备的56个核心问题,我已经将其收藏以备不时之需! ... [详细]
  • SQL 语句的性能优化:你做到了吗?
    在 SQL Server 查询性能优化中,书签查找的作用不容忽视。本文深入探讨了书签查找对查询效率的影响,并提供了实用的优化策略,帮助开发者提升数据库性能。通过具体案例分析,文章展示了如何有效避免不必要的书签查找,从而显著提高查询速度和系统响应时间。 ... [详细]
  • 第11章详细探讨了DOM扩展,其中W3C将一些已经广泛采用的专有扩展标准化并纳入规范。本章重点介绍了两个主要的DOM扩展:Selectors API(选择符API)和HTML5选择符API。这些扩展不仅增强了DOM操作的灵活性和效率,还为开发者提供了更强大的选择器支持,使得复杂的选择和操作变得更加简便。此外,本章还讨论了这些API在实际开发中的应用案例和最佳实践。 ... [详细]
  • 在现代办公环境中,高效的办公软件是提升工作效能的关键。本文将推荐几款实用且专业的办公软件,帮助用户提高工作效率。首先,微软Office套件中的Word、Excel和PowerPoint依然是最常用的工具,它们凭借强大的功能和易用性,成为众多用户的首选。此外,本文还将介绍其他一些创新的办公软件,如Google Workspace和Notion,这些工具在协作和项目管理方面表现出色,值得尝试。 ... [详细]
author-avatar
Icy芸土_644
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有