SQL进阶教程 封面

SQL进阶教程

评分 4.5
字数
21.4万字
章节数
24
丛书
图灵程序设计丛书
ISBN
9787115470522

标签

内容简介

本书是《SQL基础教程》作者、日本数据库工程师 MICK 为希望从入门迈向中级的读者编写的 SQL 技能提升指南。全书大体分为两部分:第一部分重新审视日常开发中常见的 SQL 技术,如 CASE 表达式、自连接、HAVING 子句、外连接、关联子查询、EXISTS 谓词、集合运算、行间比较与数列处理等,通过大量示例程序与练习题,讲解这些技术容易被忽略的用法及其背后的逻辑,帮助读者从面向过程的思维逐步转向面向集合的思维;第二部分把实践与理论打通,从关系数据库的发展史讲起,延伸到集合论与逻辑学视角下的关系模型,讨论“关系”这一名称的由来、NULL 与三值逻辑的麻烦、地址型数据、层级结构等话题,让读者理解 SQL 设计取舍的根源。各节末尾多配有练习题,书末附有解答与参考文献,便于读者自查掌握程度。本书适合已具备基础 SQL 知识、希望写出更简洁高效查询的读者。

编辑推荐

很多 SQL 使用者能写查询,却写不出“漂亮”的查询:明明可以用一个 CASE 表达式解决,却写了三段 UNION;明明一次自连接就能搞定,却把数据拉到应用层循环处理。这本书要纠正的正是这类习惯。MICK 的写法很有特点——每一节先抛出一个真实业务里会遇到的古怪需求,再从常见技术中挖出被忽视的用法,最后附上练习题,让读者自己动手验证。第 1 章的 CASE、外连接、EXISTS、数列处理几乎全是“原来还能这样写”的顿悟时刻;第 2 章转入理论,讲清关系模型、三值逻辑与 NULL 的由来,读完会明白某些写法为何被数据库设计者鼓励、另一些为何要避开。全书篇幅不大,214 千字,但信息密度高,适合边读边在数据库里跑示例。它不教语法入门,而是教判断力——这正是初级与中级之间的那道坎。

适合谁读

适合

  • 有半年以上 SQL 使用经验、已掌握基本语法的开发者
  • 经常写报表查询、需要优化复杂 SQL 的数据分析师
  • 想理解关系模型与集合论基础、准备进阶的后端工程师
  • 把《SQL基础教程》读完、想继续系统提高的读者

不适合

  • 完全零基础、尚未写过 SELECT 语句的初学者
  • 只想速查某款数据库(MySQL、Oracle 等)方言差异的读者
  • 期待大量大数据或分布式计算框架内容的人

阅读建议

  1. 在第 1 章每节先合上书自己写一遍查询,再对照书中写法,差异处往往就是收获。
  2. 准备一套示例数据并在真实数据库中跑通所有 SQL,注意不同 DBMS 的方言差异与执行计划。
  3. 第 2 章理论部分可放慢速度,配合练习题理解三值逻辑与 NULL 的处理策略。
  4. 读完后把书中的技巧回头套用到自己项目里最慢的几条查询上,做一次实际改写。

出版社简介

人民邮电出版社 中国 · 成立于 1953 年

人民邮电出版社以科技、计算机与信息通信类图书见长,并由此延伸至摄影、艺术、软件学习与励志成长等门类,形成较为多元的出版方向。库内图书既涵盖《重构与模式(修订版)》《华为交换机学习指南(第二版)》等计算机与通信技术读物,也收录《小王子(中英法彩绘典藏纪念版)》《了不起的盖茨比》《假如给我三天光明》等双语典藏类作品;《北京十年:1980-1990》与《鬼刀 WLOP个人插画作品集》则体现其在摄影与艺术领域的布局。作者资源包括安东尼·圣埃克苏佩里、海伦·凯勒、Joshua Kerievsky、王达、张兆增与WLOP等。

目录

  1. 第1章 神奇的SQL
  2. 1-1 CASE 表达式
  3. 1-2 自连接的用法
  4. 1-3 三值逻辑和NULL
  5. 1-4 HAVING 子句的力量
  6. 1-5 外连接的用法
  7. 1-6 用关联子查询比较行与行
  8. 1-7 用 SQL 进行集合运算
  9. 1-8 EXISTS 谓词的用法
  10. 1-9 用 SQL 处理数列
  11. 1-10 HAVING 子句又回来了
  12. 1-11 让 SQL 飞起来
  13. 1-12 SQL 编程方法
  14. 第2章 关系数据库的世界
  15. 2-1 关系数据库的历史
  16. 2-2 为什么叫“关系”模型
  17. 2-3 开始于关系,结束于关系
  18. 2-4 地址这一巨大的怪物
  19. 2-8 人类的逻辑学
  20. 2-9 消灭 NULL 委员会
  21. 2-10 SQL 中的层级
  22. 第3章 附录
  23. 3-1 习题解答
  24. 3-2 参考文献

常见问题

这本书适合零基础学 SQL 的人吗?
不适合。本书定位是中级进阶,默认读者已掌握 SELECT、JOIN、子查询等基础语法。零基础建议先读同作者的《SQL基础教程》,再回到本书。
这本和《SQL进阶教程(第2版)》有什么区别?
本页信息对应 2017 年首版(ISBN 9787115470522,吴炎昌译,约 301 页)。2023 年人民邮电出版社推出第 2 版(ISBN 9787115609762),由吴炎昌、侯振龙合译,新增窗口函数等内容,篇幅增至约 336 页,两版并非同一本书。
书中的 SQL 能直接在自己的数据库里运行吗?
书中示例以标准 SQL 为主,多数语句可在 PostgreSQL、MySQL、Oracle 等常见数据库中运行,但窗口函数、日期函数等细节存在方言差异,建议按所用 DBMS 做小幅调整后验证。
这一版有配套资源或习题答案吗?
书末第 3 章即“习题解答”,收录了各节练习题的参考答案,并附参考文献。示例数据库结构可在阅读时按书中说明自行搭建,或参考图灵社区相关配套资料。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

同一作者

同类高分