- 文集信息
- 目录大纲
- 最新文档
- 知识宇宙
文集详情
文集导读
SQL 数据库查询语言入门到精通 · 教程导读
一句话定位:这是一部沿着"查询能力的阶梯"逐级攀升的 SQL 教程——从一条最朴素的 SELECT 出发,一路走到窗口函数、递归 CTE 与执行计划调优,读完你能独立写出并看懂生产级 SQL。
这个教程解决什么问题
市面上的 SQL 资料大多按"DDL、DML、DCL、TCL"这种语法分类平铺开讲,知识点彼此孤立:学完 INSERT 还不知道它和后面的事务有什么关系,背了窗口函数语法却想不起来什么场景该用它。本教程换了一条主线:查询能力的演进。每一章都是一级台阶,而每一级台阶的搭建理由,都是上一级台阶走不到的地方——
- 只会查一张表,业务数据却分散在七张表里,于是有了连接(第 5 章);
- 一层嵌套的子查询写到四层就没人敢改,于是有了 CTE(第 8 章);
- GROUP BY 一分组,明细行就被折叠掉了,想"既看汇总又看每一行",于是有了窗口函数(第 7 章);
- 查询写得出来了却跑不动,于是要读执行计划、看索引(第 10 章)。
全书共用一套图书电商示例库:图书、分类、顾客、订单、订单明细、员工、部门七张表。同一份数据会随着你的能力升级被反复追问——先查出它,再聚合它,再跨表拼接它,最后用窗口函数给它排名。学完的不是一堆零散语法,而是一整套面对数据时的提问方式。
示例以 MySQL 8.0 语法为基准(窗口函数、CTE 都从 8.0 起原生支持),涉及 PostgreSQL、SQLite 等方言差异处会明确标注。每节都带可直接运行的 SQL 会话:输入语句、注释、真实输出三者齐全,建议边读边在自己的环境里敲一遍。
适合谁读
- 准备入门 SQL 的后端、数据、测试、运营同学:不需要任何数据库基础,但需要一台能装 MySQL 或 PostgreSQL 的电脑;
- 学过一点 SELECT、但写多表查询和复杂统计就卡壳的读者:第 5 章到第 8 章是为你准备的;
- 面试前需要系统梳理索引、事务、执行计划的求职者:第 9、10 章的知识点清单可以直接当复习提纲。
学完你能做什么
- 独立建库建表,为列挑选合适的数据类型与约束;
- 用一条 SELECT 完成过滤、排序、限量,并说清它的逻辑执行顺序;
- 写出 INNER/LEFT/SELF 多表连接,避开重复计数与连接条件错位的坑;
- 用 GROUP BY、HAVING、聚合函数完成分组统计,并解释 COUNT 的三种数法差异;
- 用窗口函数解决排名、去重、环比、累计这类"不能折叠行"的统计;
- 用 CTE 与递归查询重构深层嵌套子查询、遍历层级树;
- 用事务、权限语句守护数据安全,读懂 EXPLAIN 输出并判断索引是否生效。
全册知识地图
实线是建议的学习主线,虚线标出了两处"困境引出新武器"的关键转折:第 4 章的 GROUP BY 会把明细行折叠掉,这个遗憾在第 7 章由窗口函数补上;第 6 章的子查询嵌套到第四层就难以维护,这个痛点在第 8 章由 CTE 化解。
图 0-1 查询演进阶梯总览

怎么用这个教程
第 1 到 4 章是地基,务必动手:每节给出的建表与 INSERT 语句会把整套示例库搭起来,后续所有章节的查询都跑在这份数据上。第 5 到 8 章是全书的核心爬坡段,平均每章需要两小时,其中第 7 章窗口函数值得放慢速度做透练习。第 9、10 章偏工程视角,可以在你有真实项目之后再回头精读。每节末尾的要点回顾浓缩了该级台阶的可考核知识点,读完一节先合上书自问一遍,答不上来再回去翻。
目录大纲
最新文档
知识宇宙
正在加载知识图谱...