本书基于作者十多年的工作经验和分享,全面覆盖了从SQL基础查询到高级分析、从数据库设计到查询优化等内容,通过循序渐进的方式和简单易懂的案例分析,透彻讲解了每个SQL知识点。本书采用了最新的SQL:2019标准,紧跟产业发展趋势,帮助读者解锁最前沿的SQL特性,同时提供了5种主流数据库的实现和差异。最后,本书还介绍了最新SQL标准对文档存储(JSON)、复杂事件处理(MATCH_RECOGNIZE)、多维数组(SQL/MDA)以及图形存储(SQL/PGQ)的支持。
最新SQL标准,透彻讲解SQL ,5种主流数据库一次性搞定
数据库,尤其是关系型数据库,是现代企业存储和处理数据的主要方式。目前主流的关系
型数据库包括 MySQL、Oracle、Microsoft SQL Server、PostgreSQL 以及 SQLite 等。虽然这些
数据库系统的具体实现有所不同,但它们都使用 SQL 作为访问和操作数据库的标准语言。
SQL(Structured Query Language,结构化查询语言)作为访问和操作关系型数据库的标准
语言,不但应用广泛,而且简单易学。掌握 SQL 已经成为 IT 行业和数据分析从业者必不可少
的技能之一。在设计之初,SQL 就考虑了非技术人员的使用需求,因此 SQL 语句均由简单的英
语单词组成,主要的 SQL 语句只有几个,很多时候甚至只需使用一个 SELECT 语句。
也许正是由于它的简单易用,以致很多人都认为 SQL 只有简单的增删改查(CRUD)功能。 但实际上,早在 1999 年 SQL 就支持了通用表表达式(WITH 语句)和递归查询、用户定义类
型以及许多在线分析功能。随后它又增加了窗口函数、MERGE 语句、XML 数据类型、JSON
文档存储、复杂事件和流数据处理以及多维数组等功能。最新的 SQL 标准正在定制与图形存储
相关的功能。
虽然 SQL 是基于关系模型开发的语言,但是在经过几十年的发展之后,它早就不再局限于
关系模型了。我编写本书的目的就在于,希望能够帮助大家了解并学习现代化的 SQL 语言和编
程思想,而不仅仅局限于掌握传统 SQL 所提供的简单功能。
SQL 编程思想:基于 5 种主流数据库代码实现
本书内容
本书共 18 章以及 1 个附录。
第 1 章简单回顾了数据库和关系型数据库的基本概念、什么是 SQL 以及它的主要特性和设
计思想。
第 2 章介绍了 SELECT 语句的基本检索、数据过滤、排序显示以及限定查询结果数量等,
同时还讨论了 SQL 语句中的代码注释方法。
第 3 章介绍了如何通过 SQL 函数进行数据处理,如何利用条件表达式(CASE)实现逻辑
处理功能。
第 4 章介绍了如何利用 SQL 中的聚合函数对数据进行汇总。SQL 聚合函数通常和分组操作
(GROUP BY)一起使用,因此我们还介绍了数据的分组汇总以及汇总后的数据过滤。
第 5 章介绍了数据库中的空值(NULL)问题及其解决方法。
第 6 章介绍了如何使用连接查询(JOIN)获取多个表中的关联数据,包括两种 SQL 连接语
法以及内连接、左/右/全外连接、交叉连接、自然连接和自连接等类型。
第 7 章介绍了各种类型的子查询以及相关的运算符。
第 8 章介绍了如何使用 SQL 集合运算符,将两个或多个查询结果集组合成一个结果集。
第 9 章介绍了如何利用通用表表达式(Common Table Expression)简化复杂的子查询和连
接查询,实现树状结构数据的遍历,提高 SQL 语句的可读性和性能。
第 10 章介绍了 SQL 窗口函数的定义和参数选项,以及各类窗口函数的作用。
第 11 章介绍了数据操作语言(DML),包括数据的插入(INSERT)、更新(UPDATE)、
删除(DELETE)以及合并(MERGE)。
第 12 章介绍了数据库中事务的概念、事务控制语句以及并发事务的隔离问题。
第 13 章介绍了数据库设计过程中的常用技术,同时还介绍了如何为表中的字段选择合适的
数据类型,以及数据库常见对象(数据库、模式和数据表)的管理。
第 14 章介绍了索引的原理,讲解了如何通过执行计划查看 SQL 语句的执行过程,以及常
用的查询优化技巧。
? IV ?
前言
? V ? 第 15 章介绍了另一个重要的数据库对象:视图(View)。
第 16 章介绍了数据库存储过程(Stored Procedure)和存储函数(Stored Function)的基本
概念。
第 17 章介绍了一种特殊的存储过程/函数:触发器(Trigger)。
第 18 章介绍了 SQL 标准的一些最新发展趋势,包括文档存储(JSON)、行模式识别
(MATCH_RECOGNIZE)、多维数组(SQL/MDA)以及图形存储(SQL/PGQ)。
附录 A 列举了常用 SQL 语句的语法说明和对应的章节,方便读者快速查看相关内容。
本书中涉及的一些示例表和初始化数据,读者可通过“读者服务”获取,使用说明可以参
考相关目录中的 README.txt 文件。
本书特点
本书主要有两个特点:新和全。首先,本书基于最新的 SQL:2019 标准,紧跟产业发展的
趋势,可帮助读者解锁最前沿的 SQL 技能。其次,本书全面覆盖了从 SQL 基础查询到高级分
析、从数据库设计到查询优化等知识点,并且提供了 5 种主流数据库的代码实现,包括:
? MySQL 8.0
? Oracle Database 21c ? Microsoft SQL Server 2019
? PostgreSQL 14
? SQLite 3.36
由于 SQL 语言的通用性,本书内容大多数情况下也适用于其他数据库系统。
读者对象
数据库工程师或 DBA、数据分析师或数据科学家、开发人员或测试人员、产品经理或运营
人员、SQL 爱好者或希望了解不同数据库实现的专家,都可以通过本书获得 SQL 技能和编程思
维的提升。