SQL查询 从入门到实践 第4版
作者: (法)约翰 维斯卡斯(John L. Viescas) 著 袁国忠 译
出版时间: 2020年版
内容简介
《SQL查询 从入门到实践 第4版》由多年从事SQL 方面研究和咨询工作的资深专家编写,重点讲解SQL 查询和数据操作的相关主题,包括关系型数据库和SQL、SQL 基础、多表操作、汇总和分组数据,以及修改数据集等内容,针对编写SQL 查询提供了轻松易懂的逐步指导,并包含上百个带有详细说明的例子。附录列出了所有SQL 语句的语法图和示例数据库的结构等。
目录
第 一部分 关系型数据库和SQL
第 1 章 何谓关系型数据库 2
1.1 数据库类型 2
1.2 关系模型简史 2
1.3 关系型数据库剖析 4
1.4 学习关系型数据库有何好处 9
1.5 小结 10
第 2 章 确保数据库结构合理 11
2.1 为何在本书开头讨论数据库设计 11
2.2 为何要关心数据库结构是否合理 11
2.3 微调列 12
2.4 微调表 17
2.5 建立合理的关系 25
2.6 就这些吗 29
2.7 小结 29
第3 章 SQL 简史 31
3.1 SQL 的起源 31
3.2 早期的厂商实现 32
3.3 标准应运而生 32
3.4 ANSI/ISO 标准的发展历程 33
3.5 商用实现 36
3.6 展望未来 36
3.7 为何要学习SQL 36
3.8 本书基于哪个SQL 版本 37
3.9 小结 37
第二部分 SQL 基础
第4 章 创建简单查询 40
4.1 SELECT 简介 40
4.2 SELECT 语句 41
4.3 说点题外话:数据和信息 42
4.4 将请求转换为SQL 43
4.5 消除重复行 47
4.6 对信息进行排序 48
4.7 保存所做的工作 51
4.8 语句举例 51
4.9 小结 57
4.10 练习 57
第5 章 获取除简单列外的其他信息 59
5.1 何谓表达式 59
5.2 你要表示哪些类型的数据 60
5.3 修改数据类型:CAST 函数 61
5.4 指定显式值 62
5.5 表达式类型 65
5.6 在SELECT 子句中使用表达式 71
5.7 空值:Null 75
5.8 语句举例 77
5.9 小结 81
5.10 练习 82
第6 章 筛选数据 84
6.1 使用WHERE 提炼信息 84
6.2 定义查找条件 87
6.3 使用多个条件 98
6.4 再谈Null:一个注意事项 106
6.5 以不同的方式表示条件 109
6.6 语句举例 109
6.7 小结 114
6.8 练习 115
第三部分 使用多个表
第7 章 集合思维 118
7.1 何谓集合 118
7.2 集合运算 119
7.3 SQL 集合运算 128
7.4 小结 133
第8 章 内连接 135
8.1 何谓连接 135
8.2 内连接 135
8.3 内连接的用途 145
8.4 语句举例 146
8.5 小结 158
8.6 练习 158
第9 章 外连接 161
9.1 何谓外连接 161
9.2 左/右外连接 162
9.3 全外连接 173
9.4 外连接的用途 175
9.5 语句举例 176
9.6 小结 184
9.7 练习 184
第 10 章 UNION 186
10.1 何谓UNION 186
10.2 使用UNION 编写查询 187
10.3 UNION 的用途 194
10.4 语句举例 194
10.5 小结 200
10.6 练习 200
第 11 章 子查询 202
11.1 何谓子查询 202
11.2 作为列表达式的子查询 203
11.3 作为筛选器的子查询 207
11.4 子查询的用途 214
11.5 语句举例 215
11.6 小结 222
11.7 练习 223
第四部分 数据汇总和分组
第 12 章 简单汇总 226
12.1 聚合函数 226
12.2 在筛选器中使用聚合函数 233
12.3 语句举例 234
12.4 小结 238
12.5 练习 238
第 13 章 数据分组 240
13.1 为何要将数据分组 240
13.2 GROUP BY 子句 242
13.3 一些限制 247
13.4 GROUP BY 的用途 249
13.5 语句举例 250
13.6 小结 255
13.7 练习 255
第 14 章 筛选分组数据 257
14.1 一种新的筛选方式 257
14.2 在哪里筛选更好 259
14.3 HAVING 的用途 263
14.4 语句举例 264
14.5 小结 268
14.6 练习 269
第五部分 修改数据集
第 15 章 更新数据集 272
15.1 何谓更新 272
15.2 UPDATE 语句 272
15.3 有些数据库系统允许在UPDATE 子句中使用连接 278
15.4 UPDATE 的用途 280
15.5 语句举例 281
15.6 小结 289
15.7 练习 290
第 16 章 插入数据集 291
16.1 何谓插入 291
16.2 INSERT 语句 292
16.3 INSERT 的用途 299
16.4 语句举例 299
16.5 小结 305
16.6 练习 305
第 17 章 删除数据集 307
17.1 何谓删除 307
17.2 DELETE 语句 307
17.3 DELETE 的用途 311
17.4 语句举例 312
17.5 小结 317
17.6 练习 317
第六部分 解决棘手问题
第 18 章 否定型问题和多条件型问题 320
18.1 简单地复习集合 320
18.2 解决否定型问题 323
18.3 根据多个肯定条件查找 327
18.4 语句举例 333
18.5 小结 343
18.6 练习 343
第 19 章 条件测试 346
19.1 条件表达式(CASE) 346
19.2 使用CASE 解决问题 349
19.3 语句举例 354
19.4 小结 361
19.5 练习 361
第 20 章 使用非连接数据和“驱动”表 363
20.1 何谓非连接数据 363
20.2 使用非连接数据解决问题 366
20.3 使用“驱动”表解决问题 367
20.4 语句举例 371
20.5 小结 381
20.6 练习 382
第 21 章 执行复杂的分组计算 384
21.1 不同分组的合计 384
21.2 扩展GROUP BY 子句 386
21.3 使用ROLLUP 获取分层合计 387
21.4 使用CUBE 计算各种组合的汇总 393
21.5 使用GROUPING SETS 合并汇总 396
21.6 分组技术变种 398
21.7 语句举例 400
21.8 小结 405
21.9 练习 405
第 22 章 将数据划分到窗口中 407
22.1 将数据划分到窗口中有何用 407
22.2 计算行号 419
22.3 数据排名 420
22.4 将数据划分到五分位区间中 424
22.5 结合使用窗口和聚合函数 426
22.6 语句举例 429
22.7 小结 439
22.8 练习 439
附录A SQL 标准语法图 441
附录B 示例数据库的结构 453
附录C 与日期和时间相关的数据类型、运算和函数 460
附录D 推荐读物 469
结语 470