SQL编程思想 基于5种主流数据库代码实现
全新正版 假一赔十 可开发票
¥
55.27
6.2折
¥
89
全新
仅1件
作者董旭阳
出版社电子工业出版社
ISBN9787121421402
出版时间2021-10
装帧平装
开本16开
定价89元
货号1202502982
上书时间2024-12-13
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
"董旭阳
数据库架构师、CSDN博客专家,毕业于北京航空航天大学,拥有十多年数据库管理与开发经验,专注于数据库领域的知识分享,荣获Oracle OCP和Redhat RHCE证书。目前在一家优选性的金融公司从事数据库架构设计工作。
个人博客:https://tonydong.blog.csdn.net/"
目录
章一切皆关系.1
1.1数据库.1
1.1.1数据库的发展历史.2
1.1.2数据库管理系统.3
1.2关系型数据库.4
1.2.1数据结构.4
1.2.2关系操作.5
1.2.3完整性约束.5
1.3SQL简介.6
1.3.1SQL的历史.7
1.3.2语法特性.7
1.3.3面向集合.8
1.3.4标准与实现.9
1.4小结.10
第2章查询初体验.11
2.1基本检索功能.11
2.1.1查询指定字段.12
2.1.2查询全部字段.13
2.1.3快速查询信息.13
2.2实现数据过滤.14
2.2.1简单过滤条件.15
2.2.2空值判断条件.17
2.2.3文本模糊查找.18
2.2.4组合过滤条件.21
2.2.5排除重复数据.23
2.3从无序到有序.24
2.3.1基于单个字段排序.24
2.3.2基于多个字段排序.25
2.3.3基于表达式排序.26
2.3.4空值的排序位置.27
2.3.5中文的排序方式.28
2.4限定结果数量.30
2.4.1Top-N排行榜30
2.4.2数据分页显示.31
2.5SQL注释.34
2.5.1单行注释.34
2.5.2多行注释.34
2.5.3特殊注释.35
2.6小结.35
第3章逻辑处理功能.36
3.1函数和运算.36
3.1.1函数概述.37
3.1.2数值函数.37
3.1.3字符函数.41
3.1.4日期函数.47
3.1.5转换函数.50
3.1.6案例分析.51
3.2使用别名.53
3.2.1列别名.53
3.2.2表别名.54
3.3条件表达式.54
3.3.1简单CASE表达式.55
3.3.2搜索CASE表达式.56
3.3.3DECODE函数58
3.3.4IF函数.59
3.3.5IIF函数.59
3.3.6案例分析.60
3.4小结.61
第4章数据分组与汇总62
4.1数据汇总.62
4.1.1聚合函数.63
4.1.2使用COUNT函数统计行数63
4.1.3使用AVG函数计算平均值.64
4.1.4使用SUM函数计算总和.66
4.1.5使用MAX函数返回优选值66
4.1.6使用MIN函数返回最小值67
4.1.7使用LISTAGG函数连接字符串67
4.2数据分组.69
4.2.1创建数据分组.69
4.2.2进行组内汇总.70
4.2.3空值分为一组.71
4.2.4常见的语法问题.72
4.3再次过滤数据.73
4.3.1使用HAVING过滤分组结果73
4.3.2WHERE与HAVING的区别73
4.4多维数据分析.74
4.4.1小计、合计与总计.74
4.4.2交叉统计报表.75
4.4.3自定义维度统计.76
4.4.4GROUPING函数78
4.5案例分析.79
4.5.1案例一:实现行列转换.79
4.5.2案例二:销售数据分析.80
4.6小结.83
第5章空值问题.84
5.1三值逻辑.85
5.2空值的比较.86
5.3空值的分组.88
5.4空值的排序.88
5.5函数中的空值.89
5.6空值处理函数.90
5.7空值与约束.93
5.8案例分析.95
5.9小结.97
第6章连接多个表.98
6.1连接的语法与类型.99
6.1.1使用FROM和WHERE连接两个表99
6.1.2使用JOIN和ON连接两个表.99
6.1.3连接查询的类型.100
6.2内连接.100
6.2.1等值连接.100
6.2.2非等值连接.101
6.3外连接.101
6.3.1左外连接.101
6.3.2右外连接.103
6.3.3全外连接.104
6.4交叉连接.105
6.5自然连接.106
6.6自连接.107
6.7连接多个表.108
6.8案例分析.109
6.8.1案例一:生成数字序列.109
6.8.2案例二:员工考勤记录.110
6.9小结.112
第7章嵌套子查询.113
7.1查询中的查询.113
7.2标量子查询.115
7.3行子查询.115
7.4表子查询.116
7.4.1WHERE条件中的子查询116
7.4.2ALL、ANY运算符117
7.4.3FROM子句中的子查询.119
7.5关联子查询.121
7.6横向子查询.122
7.7EXISTS运算符.123
7.8案例分析.126
7.8.1案例一:月度销售冠军.126
7.8.2案例二:销售增长之星.127
7.9小结.128
第8章表的集合运算.129
8.1集合运算.129
8.2交集求同.130
8.3并集存异.132
8.4差集排他.134
8.5集合运算与排序.136
8.6运算符的优先级.137
8.7案例分析.139
8.7.1案例一:优秀员工分析.139
8.7.2案例二:用户权限管理.142
8.8小结.144
第9章通用表表达式.145
9.1表即变量.145
9.2强大的递归.148
9.2.1递归查询语法.149
9.2.2生成数字序列.149
9.2.3遍历层次结构.150
9.2.4递归的终止.153
9.3案例分析:社交网络关系154
9.3.1数据结构.154
9.3.2好友关系分析.157
9.3.3粉丝关系分析.161
9.4小结.163
0章窗口函数.164
10.1窗口函数定义.164
10.1.1创建数据分区.166
10.1.2分区内的排序.167
10.1.3指定窗口大小.168
10.1.4窗口函数分类.169
10.2聚合窗口函数.170
10.2.1案例分析:移动平均值.170
10.2.2案例分析:累计求和.171
10.3排名窗口函数.173
10.3.1案例分析:分类排名.174
10.3.2案例分析:累积分布.176
10.4取值窗口函数.177
10.4.1案例分析:环比、同比分析177
10.4.2案例分析:复合增长率.179
10.5小结.181
1章数据的增删改合182
11.1插入数据.182
11.1.1插入单行记录.183
11.1.2插入多行记录.185
11.1.3复制数据.186
11.2更新数据.187
11.2.1单表更新.187
11.2.2关联更新.188
11.3删除数据.189
11.3.1单表删除.189
11.3.2关联删除.189
11.3.3快速删除全表数据.190
11.4合并数据.191
11.4.1标准合并语句.191
11.4.2非标准合并语句.194
11.5外键约束与级联操作.195
11.5.1违反外键约束.195
11.5.2级联更新和删除.196
11.6小结.198
2章数据库事务.199
12.1什么是数据库事务.199
12.2事务的ACID属性201
12.3事务控制语句.201
12.3.1开始事务.202
12.3.2提交事务.203
12.3.3撤销事务.204
12.3.4事务保存点.204
12.4并发事务与隔离级别.205
12.4.1并发问题.205
12.4.2隔离级别.206
12.5案例分析.207
12.6小结.210
3章数据库设计与实现211
13.1实体关系图.211
13.1.1实体.212
13.1.2属性.212
13.1.3关系.212
13.1.4ERD建模213
13.2规范化设计.214
13.2.1数据异常.214
13.2.2范式.215
13.2.3第二范式.216
13.2.4第三范式.217
13.2.5主键与外键.218
13.2.6反规范化.219
13.3数据类型.219
13.3.1数字类型.220
13.3.2字符串类型.221
13.3.3日期时间类型.222
13.3.4二进制类型.223
13.3.5选择合适的数据类型.223
13.4管理数据库对象.224
13.4.1常见对象.224
13.4.2管理数据库.225
13.4.3管理模式.226
13.4.4管理数据表.227
13.5小结.231
4章索引与性能优化232
14.1索引的原理.232
14.1.1聚集索引.234
14.1.2非聚集索引.234
14.2索引的类型.235
14.2.1唯一索引与非唯一索引.235
14.2.2单列索引与多列索引.235
14.2.3升序索引与降序索引.236
14.2.4函数索引.236
14.3索引的维护.236
14.3.1创建索引.236
14.3.2查看索引.237
14.3.3删除索引.237
14.3.4注意事项.238
14.4执行计划.238
14.4.1查询语句的执行过程.238
14.4.2查看SQL语句的执行计划241
14.5查询优化技巧.244
14.5.1创建合适的索引.244
14.5.2避免索引失效.246
14.5.3只返回需要的结果.247
14.5.4优化多表连接.248
14.5.5尽量避免使用子查询.249
14.5.6优化集合操作.251
14.5.7不要使用OFFSET实现分页.251
14.5.8记住SQL子句的逻辑执行顺序252
14.6小结.254
5章视图不是表.255
15.1视图概述.255
15.1.1什么是视图.255
15.1.2视图的优缺点.256
15.2管理视图.256
15.2.1创建视图.256
15.2.2视图中的ORDERBY子句.258
15.2.3修改视图的定义.258
15.2.4删除视图.259
15.3可更新视图.260
15.3.1可更新视图的限制.261
15.3.2通过视图修改数据.261
15.3.3限制视图的操作.262
15.4案例分析.263
15.5小结.264
6章存储过程和存储函数.265
16.1存储过程概述.265
16.1.1什么是存储过程.266
16.1.2存储过程的优缺点.266
16.2管理存储过程.267
16.2.1创建存储过程.267
16.2.2执行存储过程.271
16.2.3修改存储过程.272
16.2.4删除存储过程.272
16.3使用存储函数.272
16.3.1存储函数和存储过程的区别273
16.3.2创建存储函数.273
16.3.3调用存储函数.275
16.3.4修改存储函数.276
16.3.5删除存储函数.276
16.4案例分析.276
16.5小结.280
7章一触即发的触发器281
17.1触发器概述.281
17.1.1触发器的原理.281
17.1.2触发器的分类.282
17.2管理触发器.283
17.2.1创建触发器.283
17.2.2验证触发器.287
17.2.3查看触发器.288
17.2.4启用、禁用触发器.289
17.2.5删除触发器.290
17.3案例分析.290
17.3.1案例一:禁止DDL操作.290
17.3.2案例二:替换视图的DML操作.293
17.4小结.296
8章超越关系.297
18.1文档存储.297
18.1.1JSON数据类型.298
18.1.2将JSON对象表示成SQL数据303
18.1.3将SQL数据表示成JSON对象304
18.2复杂事件.305
18.2.1行模式识别.305
18.2.2分析股票曲线图.306
18.2.3监控可疑的银行转账.308
18.3多维数组.310
18.3.1数组的存储和访问.310
18.3.2数组处理函数.313
18.4图形存储.315
18.4.1图形查询语言与SQL/PGQ316
18.4.2社交网络关系分析.317
18.5小结.320
附录ASQL常用语句速查表321
内容摘要
本书基于作者十多年的工作经验和分享,全面覆盖了从SQL基础查询到不错分析、从数据库设计到查询优化等内容,通过循序渐进的方式和简单易懂的案例分析,透彻讲解了每个SQL知识点。本书采用了近期新的SQL:2019标准,紧跟产业发展趋势,帮助读者解锁很前沿的SQL特性,同时提供了5种主流数据库的实现和差异。很后,本书还介绍了近期新SQL标准对文档存储(JSON)、复杂事件处理(MATCH_RECOGNIZE)、多维数组(SQL/MDA)以及图形存储(SQL/PGQ)的支持。
主编推荐
"★ 采用全新SQL:2019标准,紧跟产业发展趋势,解锁Z前沿SQL特性
★ 让你了解并学习现代化的SQL语言和编程思想,而不仅仅局限于功能
★ 作者在数据库领域深耕十余年,拥有丰富的数据库理论知识和实践经验
★ 全覆盖从SQL基础查询到不错分析、从数据库设计到查询优化等内容
★ 用循序渐进的方式和简单易懂的案例分析,透彻讲解每个SQL知识点
★ 提供了5种主流数据库的代码实现,包括:
MySQL 8.0
Oracle Database 21c
Microsoft SQL Server 2019
PostgreSQL 14
SQLite 3.36"
媒体评论
"董旭阳是数据库方面的专家,擅长SQL数据分析,在日常工作中指导、参与过数据库的设计、建立和运营工作。本书从实用性出发,由浅入深地介绍了SQL,适合IT工作者和对数据库、数据分析感兴趣的人员阅读,且对读者入门SQL语言尤有助益。相信通过阅读本书,读者能够更好地掌握并在实际工作中运用SQL编程。
——廖瑜 标普信用评级(中国)有限公司CIO/CTO
董老师在数据库领域深耕十余年,拥有丰富的数据库理论知识和实践经验。本书从比较简单的查询语句到相对复杂的通用表表达式和窗口函数等,由浅入深、条理清晰地讲述了当代软件工程及数据分析中常用的SQL知识,具有相当强的实用性。本书不仅仅是面向技术人员的佳作,非技术人员也能从中受益良多。
——曹豹 字节跳动资深平台开发工程师
我从事数据库相关工作已有十余年时间,其间接触过各种各样的数据库,经常遇到数据库语法差异的问题,甚是头疼。随着数据库的国产化,尤其是PostgreSQL的崛起,从传统商用数据库迁移到国产或开源数据库已是时代的趋势,了解不同数据库的具体SQL实现将十分必要。本书基于SQL:2019近期新标准,全面介绍了SQL语言,并提供了5种主流数据库的SQL实例,分享了作者丰富的实战经验,对广大读者的实际工作具有切实的帮助。
——李振中 去哪儿网不错DBA
软件研发如火如荼,而几乎所有的软件研发都不可避免地涉及数据库。当前市面上关于SQL的图书多数还是从理论方面着手的,将数据库设计、管理等内容事无巨细地介绍了一遍,而对于SQL自身的知识点介绍得较少,但这正是很多一线软件工程师所必需且欠缺的部分。本书弥补了这一不足。一方面,本书覆盖了多种常用数据库;另一方面,本书的SQL知识点丰富,从通用性及专用深度来说,都可以作为一本典型的入门图书来学习。掌握SQL语言也可以作为入门大数据分析的技能之一。
——糜利敏 百度前资深研发工程师,作业帮大数据架构师
一切皆数据,随着近年来大数据理论、技术、配套设施引擎的逐步成熟和飞速发展,各行各业都开始了数字化转型的进程,以提高企业生产、营销等各个层面的效率和精准程度。由董旭阳老师撰写的本书由理论和实战相结合,深入浅出地讲解了SQL语言的编程思想,可以帮助大家学习、了解现代化SQL的应用场景和设计思想;同时,这些内容不仅仅局限于单一的数据库引擎。
——王书兴 京东大数据系统架构师
随着DT时代的到来,各行各业都在探索数字经济和数字化转型,如何让数据助力数字化建设并产生实际的价值,是一个需要大家努力探索和实践的课题。目前大部分企业的结构化数据还存储于关系型数据库,如何高效使用SQL进行数据分析,是数据人员和开发人员必须掌握的技能。本书作者董旭阳是我多年前的同事,他对数据库管理及SQL编写具有很深的造诣。相信本书能给读者带来有益的启发,并在SQL编程思维层面得到提升。
——王洪杰 中科金审(北京)科技有限公司副总裁"
— 没有更多了 —
以下为对购买帮助不大的评价