《Oracle SQL高级编程/数据库系列》的作者莫顿以精炼、风趣的语言揭开了Oracle SQL高级编程的神秘面纱。所涵盖的内容涉及SQL核心、SQL执行、分析函数、联结、测试与质量保证等,并提供大量实用性建议,且总结出方方面面的“技巧”帮助读者在阅读过程中快速消化所看内容。 《Oracle SQL高级编程/数据库系列》适合软件研发专业人士阅读,对软件项目管理感兴趣的社会各界人士也能从中获益。
第1 章 SQL 核心1
1.1 SQL 语言1
1.2 数据库的接口2
1.3 SQL*Plus 回顾3
1.3.1 连接到数据库3
1.3.2 配置SQL*Plus 环境4
1.3.3 执行命令6
1.4 5 个核心的SQL 语句8
1.5 SELECT 语句8
1.5.1 FROM 子句9
1.5.2 WHERE 子句11
1.5.3 GROUP BY 子句11
1.5.4 HAVING 子句12
1.5.5 SELECT 列表12
1.5.6 ORDER BY 子句13
1.6 INSERT 语句14
1.6.1 单表插入14
1.6.2 多表插入15
1.7 UPDATE 语句17
1.8 DELETE 语句20
1.9 MERGE 语句22
1.10 小结24
第2 章 SQL 执行25
2.1 Oracle 架构基础25
2.2 SGA-共享池27
2.3 库高速缓存28
2.4 完全相同的语句29
2.5 SGA-缓冲区缓存32
2.6 查询转换35
2.7 视图合并36
2.8 子查询解嵌套39
2.9 谓语前推42
2.10 使用物化视图进行查询重写44
2.11 确定执行计划46
2.12 执行计划并取得数据行50
2.13 SQL 执行——总览52
2.14 小结53
第3 章 访问和联结方法55
3.1 全扫描访问方法55
3.1.1 如何选择全扫描操作56
3.1.2 全扫描与舍弃59
3.1.3 全扫描与多块读取60
3.1.4 全扫描与高水位线60
3.2 索引扫描访问方法65
3.2.1 索引结构66
3.2.2 索引扫描类型68
3.2.3 索引唯一扫描71
3.2.4 索引范围扫描72
3.2.5 索引全扫描74
3.2.6 索引跳跃扫描77
3.2.7 索引快速全扫描79
3.3 联结方法80
3.3.1 嵌套循环联结81
3.3.2 排序—合并联结83
3.3.3 散列联结84
3.3.4 笛卡儿联结87
3.3.5 外联结88
3.4 小结94
第4 章 SQL 是关于集合的95
4.1 以面向集合的思维方式来思考95
4.1.1 从面向过程转变为基于集合的思维方式96
4.1.2 面向过程vs.基于集合的思维方式:一个例子100
4.2 集合运算102
4.2.1 UNION 和UNION ALL103
4.2.2 MINUS106
4.2.3 INTERSECT 107
4.3 集合与空值108
4.3.1 空值与非直观结果108
4.3.2 集合运算中的空值行为110
4.3.3 空值与GROUP BY 和ORDER BY 112
4.3.4 空值与聚合函数114
4.4 小结114
第5 章 关于问题116
5.1 问出好的问题116
5.2 提问的目的117
5.3 问题的种类117
5.4 关于问题的问题119
5.5 关于数据的问题121
5.6 建立逻辑表达式126
5.7 小结136
第6 章 SQL 执行计划137
6.1 解释计划137
6.1.1 使用解释计划137
6.1.2 理解解释计划可能达不到目的的方式143
6.1.3 阅读计划146
6.2 执行计划148
6.2.1 查看最近生成的SQL 语句149
6.2.2 查看相关执行计划149
6.2.3 收集执行计划统计信息151
6.2.4 标识SQL 语句以便以后取回计划153
6.2.5 深入理解DBMS_XPLAN 的细节156
6.2.6 使用计划信息来解决问题161
6.3 小结169
第7 章 高级分组170
7.1 基本的GROUP BY 用法171
7.2 HAVING 子句 174
7.3 GROUP BY 的“新”功能175
7.4 GROUP BY 的CUBE 扩展175
7.5 CUBE 的实际应用 179
7.6 通过GROUPING()函数排除空值185
7.7 用GROUPING()来扩展报告186
7.8 使用GROUPING_ID()来扩展报告187
7.9 GROUPING SETS 与ROLLUP() 191
7.10 GROUP BY 局限性193
7.11 小结196
第8 章 分析函数 197
8.1 示例数据197
8.2 分析函数剖析 198
8.3 函数列表 199
8.4 聚合函数 200
8.4.1 跨越整个分区的聚合函数201
8.4.2 细粒度窗口声明201
8.4.3 默认窗口声明 202
8.5 Lead 和Lag 202
8.5.1 语法和排序202
8.5.2 例1:从前一行中返回一个值203
8.5.3 理解数据行的位移204
8.5.4 例2:从下一行中返回一个值204
8.6 First_value 和Last_value 205
8.6.1 例子:使用First_value 来计算最大值 206
8.6.2 例子:使用Last_value 来计算最小值 207
8.7 其他分析函数 207
8.7.1 Nth_value (11gR2) 207
8.7.2 Rank 209
8.7.3 Dense_rank 210
8.7.4 Row_number 211
8.7.5 Ratio_to_report 211
8.7.6 Percent_rank 212
8.7.7 Percentile_cont 213
8.7.8 Percentile_disc 215
8.7.9 NTILE215
8.7.10 Stddev 216
8.7.11 Listagg 217
8.8 性能调优218
8.8.1 执行计划218
8.8.2 谓语219
8.8.3 索引220
8.9 高级话题221
8.9.1 动态SQL 221
8.9.2 嵌套分析函数222
8.9.3 并行223
8.9.4 PGA 大小224
8.10 组织行为224
8.11 小结224
第9 章 Model 子句225
9.1 电子表格225
9.2 通过Model 子句进行跨行引用226
9.2.1 示例数据226
9.2.2 剖析Model 子句227
9.2.3 规则228
9.3 位置和符号引用229
9.3.1 位置标记229
9.3.2 符号标记230
9.3.3 FOR 循环231
9.4 返回更新后的行232
9.5 求解顺序233
9.5.1 行求解顺序233
9.5.2 规则求解顺序235
9.6 聚合237
9.7 迭代237
9.7.1 一个例子238
9.7.2 PRESENTV与空值239
9.8 查找表240
9.9 空值242
9.10 使用Model子句进行性能调优243
9.10.1 执行计划243
9.10.2 谓语前推246
9.10.3 物化视图247
9.10.4 并行249
9.10.5 Model 子句执行中的分区250
9.10.6 索引251
9.11 子查询因子化252
9.12 小结253
第10 章 子查询因子化254
10.1 标准用法254
10.2 SQL 优化257
10.2.1 测试执行计划257
10.2.2 跨多个执行的测试260
10.2.3 测试查询改变的影响263
10.2.4 寻找其他优化机会266
10.2.5 将子查询因子化应用到PL/SQL 中270
10.3 递归子查询273
10.3.1 一个CONNECT BY 的例子274
10.3.2 使用RSF 的例子275
10.3.3 RSF 的限制条件276
10.3.4 与CONNECT BY 的不同点276
10.4 复制CONNECT BY 的功能277
10.4.1 LEVEL 伪列278
10.4.2 SYS_CONNECT_BY_PATH 函数279
10.4.3 CONNECT_BY_ROOT 运算符281
10.4.4 CONNECT_BY_ISCYCLE伪列和NOCYCLE 参数284
10.4.5 CONNECT_BY_ISLEAF 伪列287
10.5 小结291
第11 章 半联结和反联结292
11.1 半联结292
11.2 半联结执行计划300
11.3 控制半联结执行计划305
11.3.1 使用提示控制半联结执行计划305
11.3.2 在实例级控制半联结执行计划308
11.4 半联结限制条件310
11.5 半联结必要条件312
11.6 反联结312
11.7 反联结执行计划317
11.8 控制反联结执行计划326
11.8.1 使用提示控制反联结执行计划326
11.8.2 在实例级控制反联结执行计划327
11.9 反联结限制条件330
11.10 反联结必要条件333
11.11 小结333
第12 章 索引334
12.1 理解索引335
12.1.1 什么时候使用索引335
12.1.2 列的选择337
12.1.3 空值问题338
12.2 索引结构类型339
12.2.1 B-树索引339
12.2.2 位图索引340
12.2.3 索引组织表341
12.3 分区索引343
12.3.1 局部索引343
12.3.2 全局索引345
12.3.3 散列分区与范围分区346
12.4 与应用特点相匹配的解决方案348
12.4.1 压缩索引348
12.4.2 基于函数的索引350
12.4.3 反转键索引353
12.4.4 降序索引354
12.5 管理问题的解决方案355
12.5.1 不可见索引355
12.5.2 虚拟索引356
12.5.3 位图联结索引357
12.6 小结359
第13 章 SELECT 以外的内容360
13.1 INSERT360
13.1.1 直接路径插入360
13.1.2 多表插入 363
13.1.3 条件插入 364
13.1.4 DML 错误日志 364
13.2 UPDATE371
13.3 DELETE376
13.4 MERGE 380
13.4.1 语法和用法380
13.4.2 性能比较 383
13.5 小结 385
第14 章 事务处理 386
14.1 什么是事务 386
14.2 事务的ACID 属性 387
14.3 事务隔离级别388
14.4 多版本读一致性 390
14.5 事务控制语句391
14.5.1 Commit(提交)391
14.5.2 Savepoint(保存点) 391
14.5.3 Rollback(回滚) 391
14.5.4 Set Transaction(设置事务) 391
14.5.5 Set Constraints(设置约束) 392
14.6 将运算分组为事务 392
14.7 订单录入模式393
14.8 活动事务 399
14.9 使用保存点 400
14.10 序列化事务 403
14.11 隔离事务 406
14.12 自治事务 409
14.13 小结413
第15 章 测试与质量保证 415
15.1 测试用例 416
15.2 测试方法 417
15.3 单元测试 418
15.4 回归测试 422
15.5 模式修改 422
15.6 重复单元测试425
15.7 执行计划比较426
15.8 性能测量 432
15.9 在代码中加入性能测量432
15.10 性能测试436
15.11 破坏性测试437
15.12 通过性能测量进行系统检修439
15.13 小结442
第16 章 计划稳定性与控制443
16.1 计划不稳定性:理解这个问题443
16.1.1 统计信息的变化444
16.1.2 运行环境的改变446
16.1.3 SQL 语句的改变447
16.1.4 绑定变量窥视448
16.2 识别执行计划的不稳定性450
16.2.1 抓取当前所运行查询的数据451
16.2.2 查看一条语句的性能历史452
16.2.3 按照执行计划聚合统计信息454
16.2.4 寻找执行计划的统计方差454
16.2.5 在一个时间点附近检查偏差456
16.3 执行计划控制:解决问题458
16.3.1 调整查询结构459
16.3.2 适当使用常量459
16.3.3 给优化器一些提示459
16.4 执行计划控制:不能直接访问代码466
16.4.1 选项1:改变统计信息467
16.4.2 选项2:改变数据库参数469
16.4.3 选项3:增加或移除访问路径469
16.4.4 选项4:应用基于提示的执行计划控制机制470
16.4.5 大纲470
16.4.6 SQL 概要文件481
16.4.7 SQL 执行计划基线496
16.4.8 基于提示的执行计划控制机制总结502
16.5 结论502
3天学会电脑维修-(附赠多媒体光盘1张) 内容简介 在电脑的故障中,有80%左右是人为故障,即由于使用不当造成的,正确的使用习惯是电脑的保护神。使用不当包括电脑...
《系统集成项目管理工程师历年真题解析》内容简介:系统集成项目管理工程师考试,是全国计算机技术与软件专业技术资格考试(简称软
五笔字词速查词典第2版 本书特色 1999年五笔教学研究组在北京金桥电脑学校成立成员都是有着丰富教学经验的电脑培训中心的教师,随着全国五笔爱好者的不断加入,成员...
《非奋斗减肥》内容简介:本书10个章节,对应10个减肥法则。全书科学分析了发胖的原因和常见的关于减肥的错误认知,带来不用节食、
Windows环境下32位汇编语言是一种全新的编程语言。它使用与C++语言相同的API接口,不仅可以开发出大型的软件,而且是了解操作系统
《从大数据到智能制造》内容简介:工业4.0已上升为德国的民族战略;日本软银集团创始人孙正义试图以机器人作为工业4.0的切入点;英
《Java语言程序设计基础篇》(原书第5版本书是Java语言的经典教材,畅销多年不衰。本书以J2SE5.0版本为基础,采用“先讲基础”的教
《德国设计图典》是艺术设计专业的入门参考书,旨在通过简单的百科式构架和丰富直观的图片资料来帮助初学者接触、理解和掌握德国
《赵晓生钢琴独奏作品集》内容简介:《赵晓生钢琴独奏作品集》收入了创作乐曲6首,如《太极》;改编乐曲《青松岭》等6首;音乐会练
《官绅的荷包》内容简介:人类的财富载体经历了漫长的演变,从原始社会几乎没有载体,到后来发展出房屋、土地、农具、牲畜、衣物、
数据库系统工程师教程(第2版)—全国计算机技术与软件专业技术资格(水平)考试指定用书 本书特色 《数据库系统工程师教程(第2版)》作为中级职称的软考指定教材,具...
《中国画颜色的研究》内容简介:《中国画颜色的研究》一书初版于1955年,由朝花美术出版社出版。《中国画颜色的研究》是作者研究传
《远去的星光》内容简介:本书为“凤凰枝文丛”之一种,系长期执教于日本金泽大学的李庆教授的历年学术随笔的集合,全书分为“远去
《Nikon D5200单反摄影从入门到精通》内容简介:《Nikon D5200单反摄影从入门到精通》以尼康D5200用户由浅入深的学习过程为线索,详
《网页美术设计原理及实战策略》是作者基于10余年美术设计和网页设计教学经验编写的关于网页美术设计原理的教材,其中涉及网页美
PPT演义-100%幻灯片设计密码-第2版-升级版-含DVD光盘1张 内容简介 迄今为止*全面的一本ppt教材:九大章节,让你从思维、策划、框架、图文、图表、美...
创意字体与标志设计 本书特色 创意字体作为视觉信息传达的一部分,在大众传媒、企业形象、商品包装、橱窗及店面设计等方面,显示出越来越重要的作用。在字体的设计中,有...
《15分钟画漫画:马克笔画人物超简单》内容简介:用色彩鲜艳的马克笔画出自己喜欢的漫画形象,一定是喜欢画漫画的你很想去做的事情
《2014年度全国会计专业技术资格考试真题详解及押题密卷:初级会计实务》内容简介:《2014年度全国会计专业技术资格考试真题详解及
《设计模式之禅》内容简介:全书共分为四部分,第一部分从原理的角度阐述了面向对象程序设计的6大原则;第二部生动地讲解和剖析了2