商品详情
书名:30天轻松学会SQL
定价:99.8
ISBN:9787115698988
作者:[美]杰夫·扬努齐(Jeff Iannucci )
版次:第1版
出版时间:2026-07
内容提要:
本书共分为24章,每一章*在前一章的基础上逐步深入,帮助你从*基础的数据检索开始,逐渐掌握如何搜索特定数据、连接多个数据集、修改数据,甚*创建数据库对象来存储数据和SQL脚本。书中不仅展示了如何使用SQL,还给出了一些提示和警告,帮你快速学习相关知识和技能。你只需每天花一小时看一章(花40分钟阅读,然后花20分钟练习相关内容),一个月便能轻松掌握SQL。 本书适合使用Excel、Tableau、Power BI等工具的数据分析师,以及不熟悉SQL和数据库的软件开发人员阅读。
作者简介:
杰夫·扬努齐(Jeff Iannucci),Straight Path IT Solutions*顾问,拥有20多年数据库开发与管理经验。曾服务于医疗、金融、*售等多个行业,专注于数据库性能调优与查询优化,长期致力于帮助*和数据从业者提升数据库技能。 【译者简介】 陈臣,甲骨文(Oracle)公司*工程师,前vivo互联网数据库*,有*过10年的数据库管理和架构经验,擅长MySQL数据库日常操作的原理剖析。 《MySQL实战》作者,*"MySQL实战”作者,博客园推荐的博客博主iVictor,博客全网阅读量*300万。
目录:
第1章 开始之前 1
1.1 SQL的重要性 1
1.2 本书适合你吗 2
1.2.1 SQL的广泛用途 2
1.2.2 SQL的多种实现 2
1.2.3 关于AI与SQL 3
1.3 如何使用本书 3
1.3.1 主要章节 3
1.3.2 动手实验 4
1.3.3 深入探索 4
1.4 搭建实验环境 4
1.4.1 安装MySQL和MySQL Workbench 4
1.4.2 执行实验脚本 4
1.5 在线资源 5
1.6 快速掌握SQL实用技能 5
第2章 *个SQL查询 6
2.1 熟悉电子表格*能理解数据表 6
2.2 学习SQL*像上英语课一样 8
2.3 编写*个SQL查询 10
2.4 关键术语和关键字 15
2.5 实验练习 15
2.6 实验答案 16
第3章 查询数据 17
3.1 SELECT语句的规则 17
3.1.1 SELECT语句的基本要求 17
3.1.2 关键字和保留字 18
3.1.3 不区分大小写 19
3.1.4 格式与空白字符 19
3.2 从表中检索数据 20
3.2.1 检索单列的数据 21
3.2.2 检索多列的数据 22
3.2.3 使用别名重命名输出列 23
3.2.4 检索所有列 24
3.3 实验练习 26
3.4 实验答案 26
第4章 数据排序、跳过行数据与添加注释 27
4.1 数据排序 27
4.1.1 按单列排序 27
4.1.2 按多列排序 29
4.1.3 指定排序方向 30
4.1.4 按未显示的列排序 31
4.1.5 按位置排序 32
4.2 跳过行数据 32
4.2.1 使用LIMIT限制结果数量 33
4.2.2 使用OFFSET选择不同的有限结果集 34
4.2.3 在其他RDBMS中限制数据 35
4.3 为数据添加注释 35
4.4 实验练习 37
4.5 实验答案 37
第5章 根据特定值进行过滤 39
5.1 根据单个条件进行过滤 39
5.1.1 根据数值进行过滤 39
5.1.2 根据字符串值进行过滤 41
5.1.3 根据日期值进行过滤 42
5.2 根据多个条件进行过滤 43
5.2.1 需要满足所有条件的过滤 43
5.2.2 满足任一条件的过滤 44
5.2.3 控制多个过滤条件的执行顺序 45
5.2.4 使用ORDER BY对过滤后的数据进行排序 47
5.3 实验练习 48
5.4 实验答案 48
第6章 使用多个值、范围和排除条件进行过滤 49
6.1 根据特定值进行过滤 49
6.2 根据值的范围进行过滤 51
6.2.1 根据开放式范围进行过滤 51
6.2.2 过滤指定范围内的值 52
6.3 否定过滤条件 54
6.3.1 排除特定值 54
6.3.2 否定任意过滤条件 55
6.4 组合不同类型的过滤条件 56
6.5 比较运算符回顾 58
6.6 实验练习 58
6.7 实验答案 58
第7章 使用通配符和空值进行过滤 60
7.1 使用通配符进行过滤 60
7.1.1 使用百分号(%)进行过滤 61
7.1.2 使用下划线进行过滤 63
7.2 使用空值进行过滤 64
7.2.1 错误的空值查询方法 65
7.2.2 正确的空值查询方法 66
7.2.3 查询非空值的方法 68
7.3 实验练习 69
7.4 实验答案 69
第8章 多表查询 71
8.1 数据关系的规则 71
8.1.1 没有关系的数据存储方式 72
8.1.2 带有关系的数据存储方式 73
8.2 数据连接的方法 76
8.2.1 两表关联查询 76
8.2.2 连接更多的表 78
8.3 表别名 80
8.4 另一种连接数据的方式 81
8.5 实验练习 82
8.6 实验答案 83
第9章 使用不同类型的连接 85
9.1 内连接 85
9.2 外连接 87
9.2.1 左外连接 87
9.2.2 右外连接 90
9.2.3 使用外连接查找没有匹配项的行 91
9.2.4 左连接和右连接的互换 92
9.2.5 USING关键字 93
9.2.6 自然连接 93
9.3 交叉连接 94
9.4 实验练习 95
9.5 实验答案 95
第10章 使用集合运算符合并多个查询结果 97
10.1 使用集合运算符 97
10.2 UNION运算符 98
10.3 UNION ALL 101
10.4 在MySQL中模拟FULL OUTER JOIN 102
10.5 INTERSECT运算符 104
10.6 EXCEPT运算符 105
10.7 实验练习 106
10.8 实验答案 108
第11章 使用子查询和逻辑运算符 109
11.1 一个简单的子查询示例 109
11.2 逻辑运算符与子查询 111
11.2.1 ANY运算符和IN运算符 112
11.2.2 ALL运算符和NOT IN运算符 113
11.2.3 EXISTS运算符和NOT EXISTS运算符 115
11.3 子查询在SQL其他子句中的应用 116
11.3.1 在FROM子句中使用子查询 116
11.3.2 在SELECT子句中使用子查询 117
11.4 实验练习 118
11.5 实验答案 118
第12章 数据分组 120
12.1 聚合函数 120
12.1.1 SUM函数 120
12.1.2 COUNT函数 121
12.1.3 MIN函数 122
12.1.4 MAX函数 122
12.1.5 AVG函数 123
12.1.6 结合过滤条件与聚合函数 123
12.2 使用GROUP BY进行数据聚合 124
12.2.1 GROUP BY的使用要求 124
12.2.2 GROUP BY与空值 126
12.3 使用HAVING进行过滤 126
12.4 查询的逻辑处理顺序 128
12.5 DISTINCT关键字 129
12.6 实验练习 130
12.7 实验答案 131
第13章 使用变量 132
13.1 用户自定义变量 132
13.1.1 声明你的*个用户自定义变量 133
13.1.2 用户自定义变量的使用规则 134
13.1.3 使用你的*个用户自定义变量 134
13.2 在FROM子句和HAVING子句中使用变量进行过滤 135
13.3 为变量赋予未知值 137
13.3.1 回顾查询的执行过程 137
13.3.2 使用SELECT为变量赋未知值 138
13.3.3 使用变量时的性能考量 139
13.3.4 对比SET与SELECT进行变量赋值时的使用差异 140
13.4 关于变量的其他说明 141
13.4.1 使用SELECT为变量赋字面值 141
13.4.2 为变量赋空值 141
13.4.3 改变变量的数据类型 142
13.5 实验练习 142
13.6 实验答案 143
第14章 使用函数进行查询 144
14.1 使用函数时需要注意的问题 144
14.1.1 不同RDBMS中的函数命令存在差异 144
14.1.2 函数命令可能带来的性能问题 144
14.2 字符串函数 145
14.2.1 大小写转换函数 145
14.2.2 空格去除函数 146
14.2.3 其他字符串函数 148
14.3 日期和时间函数 148
14.3.1 返回数值的日期函数 148
14.3.2 返回字符串的日期函数 149
14.3.3 其他日期和时间函数 150
14.4 信息函数 150
14.4.1 日期和时间信息 151
14.4.2 连接信息 151
14.5 实验练习 152
14.6 实验答案 152
第15章 使用函数组合或计算值 154
15.1 组合字符串值 154
15.1.1 CONCAT函数 155
15.1.2 CONCAT_WS函数 157
15.1.3 COALESCE函数 159
15.2 转换值 160
15.2.1 REPLACE函数 160
15.2.2 CONVERT函数和CAST函数 161
15.3 使用函数进行数值计算 162
15.4 实验练习 164
15.5 实验答案 164
第16章 插入数据 166
16.1 插入具体的值 166
16.1.1 插入一行数据 166
16.1.2 插入多行数据 168
16.1.3 插入部分列数据 169
16.1.4 关于省略列名的提醒 172
16.2 使用查询插入数据行 173
16.3 使用变量插入数据行 175
16.4 实验练习 175
16.5 实验答案 176
第17章 更新数据和删除数据 178
17.1 更新数据 178
17.1.1 实时数据操作的特点 178
17.1.2 更新数据的基本要求 180
17.1.3 更新一列或多列的值 180
17.1.4 使用多表查询更新数据 182
17.2 删除行 184
17.2.1 删除一行或多行数据 184
17.2.2 使用多表查询删除数据 185
17.2.3 删除表中的所有行 186
17.3 数据操作中的一条重要建议 186
17.4 实验练习 187
17.5 实验答案 187
第18章 在表中存储数据 189
18.1 创建表 189
18.1.1 创建表前的注意事项 189
18.1.2 创建表的基本方法 190
18.1.3 向空表中插入数据 191
18.2 修改表结构 192
18.2.1 向表中添加列 192
18.2.2 添加列时的注意事项 195
18.3 主键 195
18.3.1 主键的注意事项 196
18.3.2 添加主键 196
18.4 外键 197
18.4.1 数据关系图 198
18.4.2 添加外键约束 199
18.5 删除约束、列或表 199
18.5.1 删除约束 200
18.5.2 删除列 200
18.5.3 删除表 200
18.6 实验练习 201
18.7 实验答案 202
第19章 创建约束和索引 204
19.1 约束 204
19.1.1 NOT NULL约束 205
19.1.2 DEFAULT约束 206
19.1.3 UNIQUE约束 208
19.1.4 CHECK约束 208
19.2 为列设置自动递增的值 209
19.3 索引 210
19.3.1 聚簇索引 210
19.3.2 非聚簇索引 212
19.4 实验练习 215
19.5 实验答案 215
第20章 使用视图和存储过程复用查询 217
20.1 视图 217
20.1.1 创建视图 218
20.1.2 使用视图进行过滤 219
20.1.3 连接视图 219
20.1.4 使用视图时的注意事项 221
20.2 存储过程 222
20.2.1 创建存储过程 222
20.2.2 在存储过程中使用变量 224
20.2.3 使用存储过程时的注意事项 227
20.3 视图与存储过程的区别 227
20.4 实验练习 228
20.5 实验答案 228
第21章 在查询中进行决策 230
21.1 条件函数与表达式 230
21.1.1 COALESCE函数 230
21.1.2 IFNULL函数 231
21.1.3 CASE表达式 233
21.2 决策结构 236
21.2.1 IF和THEN 236
21.2.2 ELSE 238
21.2.3 多条件判断 240
21.3 实验练习 242
21.4 实验答案 242
第22章 使用游标 244
22.1 回顾变量和参数 244
22.1.1 存储过程中的变量 244
22.1.2 输出参数 245
22.2 游标 246
22.2.1 游标的结构 246
22.2.2 创建游标 246
22.3 游标的替代方案 250
22.3.1 使用WHILE循环 251
22.3.2 临时表 253
22.4 使用游标时的注意事项 254
22.4.1 用集合的思维方式思考问题 254
22.4.2 关于游标使用的思考 255
22.5 实验练习 255
22.6 实验答案 256
第23章 使用他人编写的SQL脚本 258
23.1 他人的脚本示例:创建表 258
23.1.1 CREATE TABLE脚本示例 258
23.1.2 CREATE TABLE脚本的分析与改进 259
23.1.3 改进后的CREATE TABLE脚本 260
23.2 他人的脚本示例:插入数据 260
23.2.1 INSERT存储过程 260
23.2.2 分析INSERT存储过程 262
23.2.3 改进INSERT存储过程 265
23.2.4 进一步优化INSERT存储过程 267
第24章 学无止境 269
24.1 更深入的SQL知识 269
24.2 其他SQL学习资源 270
24.3 结束语 270 
- 人民邮电出版社有限公司 (微信公众号认证)
- 人民邮电出版社微店,为您提供最全面,最专业的一站式购书服务
- 扫描二维码,访问我们的微信店铺
- 随时随地的购物、客服咨询、查询订单和物流...