SQL编程思想:基于5种主流数据库代码实现作 者: 董旭阳 著出版时间: 2021 内容简介 本书基于作者十多年的工作经验和知识分享,全面覆盖了从SQL基础查询到高级分析、从数据库设计到查询优化等内容,通过循序渐进的方式和简单易懂的案例分析,透彻讲解了每个SQL知识点。本书采用了全新的SQL:2019标准,紧跟产业发展趋势,帮助读者解锁最前沿的SQL技能,同时提供了5种主流数据库的实现和差异。最后,本书还介绍了全新的SQL:2019标准对文档存储(JSON)、行模式识别(MATCH_RECOGNIZE)、多维数组(SQL/MDA)以及图形存储(SQL/PGQ)的支持。 本书适合需要在日常工作中完成数据处理的IT从业人员,包括SQL初学者、拥有一定基础的中高级工程师,甚至精通某种数据库产品的专家阅读。目录第1章 一切皆关系1.1 数据库1.1.1 数据库的发展历史1.1.2 数据库管理系统1.2 关系型数据库1.2.1 数据结构1.2.2 关系操作1.2.3 完整性约束1.3 SQL简介1.3.1 SQL的历史1.3.2 语法特性1.3.3 面向集合1.3.4 标准与实现1.4 小结第2章 查询初体验2.1 基本检索功能2.1.1 查询指定字段2.1.2 查询全部字段2.1.3 快速查询信息2.2 实现数据过滤2.2.1 简单过滤条件2.2.2 空值判断条件2.2.3 文本模糊查找2.2.4 组合过滤条件2.2.5 排除重复数据2.3 从无序到有序2.3.1 基于单个字段排序2.3.2 基于多个字段排序2.3.3 基于表达式排序2.3.4 空值的排序位置2.3.5 中文的排序方式2.4 限定结果数量2.4.1 Top-N排行榜2.4.2 数据分页显示2.5 SQL注释2.5.1 单行注释2.5.2 多行注释2.5.3 特殊注释2.6 小结第3章 逻辑处理功能3.1 函数和运算3.1.1 函数概述3.1.2 数值函数3.1.3 字符函数3.1.4 日期函数3.1.5 转换函数3.1.6 案例分析3.2 使用别名3.2.1 列别名3.2.2 表别名3.3 条件表达式3.3.1 简单CASE表达式3.3.2 搜索CASE表达式3.3.3 DECODE函数3.3.4 IF函数3.3.5 IIF函数3.3.6 案例分析3.4 小结第4章 数据分组与汇总4.1 数据汇总4.1.1 聚合函数4.1.2 使用COUNT函数统计行数4.1.3 使用AVG函数计算平均值4.1.4 使用SUM函数计算总和4.1.5 使用MAX函数返回最大值4.1.6 使用MIN函数返回最小值4.1.7 使用LISTAGG函数连接字符串4.2 数据分组4.2.1 创建数据分组4.2.2 进行组内汇总4.2.3 空值分为一组4.2.4 常见的语法问题4.3 再次过滤数据4.3.1 使用HAVING过滤分组结果4.3.2 WHERE与HAVING的区别4.4 多维数据分析4.4.1 小计、合计与总计4.4.2 交叉统计报表4.4.3 自定义维度统计4.4.4 GROUPING函数4.5 案例分析4.5.1 案例一:实现行列转换4.5.2 案例二:销售数据分析4.6 小结第5章 空值问题5.1 三值逻辑5.2 空值的比较5.3 空值的分组5.4 空值的排序5.5 函数中的空值5.6 空值处理函数5.7 空值与约束5.8 案例分析5.9 小结第6章 连接多个表6.1 连接的语法与类型6.1.1 使用FROM和WHERE连接两个表6.1.2 使用JOIN和ON连接两个表6.1.3 连接查询的类型6.2 内连接6.2.1 等值连接6.2.2 非等值连接6.3 外连接6.3.1 左外连接6.3.2 右外连接6.3.3 全外连接6.4 交叉连接6.5 自然连接6.6 自连接6.7 连接多个表6.8 案例分析6.8.1 案例一:生成数字序列6.8.2 案例二:员工考勤记录6.9 小结第7章 嵌套子查询7.1 查询中的查询7.2 标量子查询7.3 行子查询7.4 表子查询7.4.1 WHERE条件中的子查询7.4.2 ALL、ANY运算符7.4.3 FROM子句中的子查询7.5 关联子查询7.6 横向子查询7.7 EXISTS运算符7.8 案例分析7.8.1 案例一:月度销售冠军7.8.2 案例二:销售增长之星7.9 小结第8章 表的集合运算8.1 集合运算8.2 交集求同8.3 并集存异8.4 差集排他8.5 集合运算与排序8.6 运算符的优先级8.7 案例分析8.7.1 案例一:优秀员工分析8.7.2 案例二:用户权限管理8.8 小结第9章 通用表表达式9.1 表即变量9.2 强大的递归9.2.1 递归查询语法9.2.2 生成数字序列9.2.3 遍历层次结构9.2.4 递归的终止9.3 案例分析:社交网络关系9.3.1 数据结构9.3.2 好友关系分析9.3.3 粉丝关系分析9.4 小结第10章 窗口函数10.1 窗口函数定义10.1.1 创建数据分区10.1.2 分区内的排序10.1.3 指定窗口大小10.1.4 窗口函数分类10.2 聚合窗口函数10.2.1 案例分析:移动平均值10.2.2 案例分析:累计求和10.3 排名窗口函数10.3.1 案例分析:分类排名10.3.2 案例分析:累积分布10.4 取值窗口函数10.4.1 案例分析:环比、同比分析10.4.2 案例分析:复合增长率10.5 小结第11章 数据的增删改合11.1 插入数据11.1.1 插入单行记录11.1.2 插入多行记录11.1.3 复制数据11.2 更新数据11.2.1 单表更新11.2.2 关联更新11.3 删除数据11.3.1 单表删除11.3.2 关联删除11.3.3 快速删除全表数据11.4 合并数据11.4.1 标准合并语句11.4.2 非标准合并语句11.5 外键约束与级联操作11.5.1 违反外键约束11.5.2 级联更新和删除11.6 小结第12章 数据库事务12.1 什么是数据库事务12.2 事务的ACID属性12.3 事务控制语句12.3.1 开始事务12.3.2 提交事务12.3.3 撤销事务12.3.4 事务保存点12.4 并发事务与隔离级别12.4.1 并发问题12.4.2 隔离级别12.5 案例分析12.6 小结第13章 数据库设计与实现13.1 实体关系图13.1.1 实体13.1.2 属性13.1.3 关系13.1.4 ERD建模13.2 规范化设计13.2.1 数据异常13.2.2 第一范式13.2.3 第二范式13.2.4 第三范式13.2.5 主键与外键13.2.6 反规范化13.3 数据类型13.3.1 数字类型13.3.2 字符串类型13.3.3 日期时间类型13.3.4 二进制类型13.3.5 选择合适的数据类型13.4 管理数据库对象13.4.1 常见对象13.4.2 管理数据库13.4.3 管理模式13.4.4 管理数据表13.5 小结第14章 索引与性能优化14.1 索引的原理14.1.1 聚集索引14.1.2 非聚集索引14.2 索引的类型14.2.1 唯一索引与非唯一索引14.2.2 单列索引与多列索引14.2.3 升序索引与降序索引14.2.4 函数索引14.3 索引的维护14.3.1 创建索引14.3.2 查看索引14.3.3 删除索引14.3.4 注意事项14.4 执行计划14.4.1 查询语句的执行过程14.4.2 查看SQL语句的执行计划14.5 查询优化技巧14.5.1 创建合适的索引14.5.2 避免索引失效14.5.3 只返回需要的结果14.5.4 优化多表连接14.5.5 尽量避免使用子查询14.5.6 优化集合操作14.5.7 不要使用OFFSET实现分页14.5.8 记住SQL子句的逻辑执行顺序14.6 小结第15章 视图不是表15.1 视图概述15.1.1 什么是视图15.1.2 视图的优缺点15.2 管理视图15.2.1 创建视图15.2.2 视图中的ORDER BY子句15.2.3 修改视图的定义15.2.4 删除视图15.3 可更新视图15.3.1 可更新视图的限制15.3.2 通过视图修改数据15.3.3 限制视图的操作15.4 案例分析15.5 小结第16章 存储过程和存储函数16.1 存储过程概述16.1.1 什么是存储过程16.1.2 存储过程的优缺点16.2 管理存储过程16.2.1 创建存储过程16.2.2 执行存储过程16.2.3 修改存储过程16.2.4 删除存储过程16.3 使用存储函数16.3.1 存储函数和存储过程的区别16.3.2 创建存储函数16.3.3 调用存储函数16.3.4 修改存储函数16.3.5 删除存储函数16.4 案例分析16.5 小结第17章 一触即发的触发器17.1 触发器概述17.1.1 触发器的原理17.1.2 触发器的分类17.2 管理触发器17.2.1 创建触发器17.2.2 验证触发器17.2.3 查看触发器17.2.4 启用、禁用触发器17.2.5 删除触发器17.3 案例分析17.3.1 案例一:禁止DDL操作17.3.2 案例二:替换视图的DML操作17.4 小结第18章 超越关系18.1 文档存储18.1.1 JSON数据类型18.1.2 将JSON对象表示成SQL数据18.1.3 将SQL数据表示成JSON对象18.2 复杂事件18.2.1 行模式识别18.2.2 分析股票曲线图18.2.3 监控可疑的银行转账18.3 多维数组18.3.1 数组的存储和访问18.3.2 数组处理函数18.4 图形存储18.4.1 图形查询语言与SQL/PGQ18.4.2 社交网络关系分析18.5 小结附录A SQL常用语句速查表 上一篇: Animate二维动画设计与应用:项目式全彩微课版 赵丽英 2022年版 下一篇: 主权区块链1.0 秩序互联网与人类命运共同体 大数据战略重点实验室著 2020年版