图灵社区的电子书没有采用专有客 户端,您可以在任意设备上,用自 己喜欢的浏览器和PDF阅读器进行 阅读。 但您购买的电子书仅供您个人使用, 未经授权,不得进行传播。 我们愿意相信读者具有这样的良知 和觉悟,与我们共同保护知识产权。 如果购买者有侵权行为,我们可能 对该用户实施包括但不限于关闭该 帐号等维权措施,并可能追究法律 责任。     图书在版编目(CIP)数据     SQL 进阶教程 /(日)MICK 著;吴炎昌译 . -- 北京: 人民邮电出版社,2017.11    (图灵程序设计丛书)   ISBN 978-7-115-47052-2   Ⅰ. ① S… Ⅱ. ① M… ②吴… Ⅲ . ①关系数据库系统 -教材 Ⅳ. ① TP311.138   中国版本图书馆 CIP 数据核字(2017)第 253141号 内  容  提  要 本书是《SQL 基础教程》作者 MICK 为志在向中级进阶的数据库工程师编写的一本 SQL 技能提升指南。 全书可分为两部分,第一部分介绍了SQL 语言不同寻常的使用技巧,带领读者从 SQL 常见技术,比如 CASE 表达式、自连接、HAVING 子句、外连接、关联子查询、EXISTS……去探索新发现。这部分不仅穿插 讲解了这些技巧背后的逻辑和相关知识,而且辅以丰富的示例程序,旨在帮助读者提升编程水平;第二部 分着重介绍关系数据库的发展史,把实践与理论结合起来,旨在帮助读者加深对关系数据库和SQL 语言的 理解。此外,每节末尾均设置有练习题,并在书末提供了解答,方便读者检验自己对书中知识点的掌握程度。   本书适合具有半年以上SQL使用经验、已掌握SQL基础知识和技能、希望提升自己编程水平的读者阅读。 ◆ 著    [日]MICK   译    吴炎昌   责任编辑 杜晓静   执行编辑 高宇涵 侯秀娟   责任印制 彭志环 ◆ 人民邮电出版社出版发行  北京市丰台区成寿寺路11号   邮编 100164  电子邮件 315@ptpress.com.cn   网址 http://www.ptpress.com.cn   北京      印刷 ◆ 开本:800×1000 1/16   印张:19.5   字数:455 千字 2017 年11月第1 版   印数:1- 4 000 册 2017 年11月北京第1次印刷 著作权合同登记号 图字:01-2016-4463号 定价:79.00 元 读者服务热线:(010)51095186 转 600 印装质量热线:(010)81055316 反盗版热线:(010)81055315 广告经营许可证:京东工商广登字 20170147 号 译者序 我曾在日本从事多年软件开发工作,工作中经常会跟各种数据库打交道,编写 SQL 代码也是常 有的事情。但是对于 SQL 语言,当时也只是通过大学里的一门讲授数据库系统的课程了解了基本的 语法,在工作中积累了一些实用的经验而已,并没有进行过非常深入的研究。于是我便打算找一本 深入一些的书,最好是面向有一定编程经验的读者的,系统地学习一下。 后来我在书店遇见了 MICK 先生的这本书,翻看前言,尝试了他提出的检验读者水平的若干 问题。非常遗憾,我只能回答出很少的几个,于是我便认为这本书正是我需要的,当场决定买下了。 几年过去,我由于个人原因回国了,工作中也不再使用日语,便想着借着业余时间翻译一些优 秀的日语技术书。当图灵公司的老师问我是否有意向翻译这本书时,我立刻就答应了。当初回国时 为了缩减行李,我只保留了几本日语原版的技术书,这本就是其中之一。这样一本多年前结缘、至 今仍躺在我书架上的好书,当有机会将它翻译成中文版时,我实在没有什么理由放弃掉。 这本书,我认为是作者的用心之作。书中大部分内容都来自作者记录自己实践总结和日常思考 的个人博客,最大的特点是理论与实践相结合,除了讲述应该怎么做,还解释了其背后的原理。全 书包含两部分内容,第一部分介绍了 SQL 在使用方面的一些技巧,第二部分介绍了关系数据库相关 的内容。第一部分在介绍 SQL 的技巧时,作者并没有上来就展示各种酷炫的招式,而是先以简单的 问题或者例题引出将要讨论的内容,在讲解之后进一步扩展,由点及面地引出更深的话题或者背后 的原理。这种由浅入深的讲述方式,符合一般的学习习惯,读者能在轻松愉悦的阅读过程中,跟着 作者一起思考,自然而然地掌握相应的思考方式。第二部分在介绍关系数据库时,作者先介绍了关 系数据库诞生的历史背景及其解决的问题。关系数据库已经诞生了几十年,为了让现在的读者理解 当初的问题和背景,作者大量引用了关系数据库之父 E.F. Codd 和关系数据库领域权威专家 C.J. Date 的文献和言论,并按自己的理解给出了分析与解释,力图使读者体会到伟大人物们在革新技术之际 的心路历程。除此之外,第二部分中作者还从逻辑学和集合论的角度讲述了 SQL 和关系模型的理论 基础。该部分内容作者充分发挥了自己在相关领域的深厚积累,以深入浅出的方式进行了阐述,我 认为非常精彩。 书中引用了许多经典的图书和文献,都在脚注和书末参考文献中给出了详细的出处,方便有需 要的读者进一步研读。更加可贵的是,在大多数小节的末尾作者都提出了两三个精心设计的小问题, ● IV 译者序 这些问题是正文内容的扩展和延伸,非常利于读者巩固相应的知识点。而且,针对这些问题,作者 也给出了详细的解答,并指出了读者容易犯的错误。 本书推荐数据库工程师、经常需要和数据库打交道的软件工程师,以及所有希望提升 SQL 水 平的读者阅读。在翻译过程中,我尽力表达出原著的意图,但是由于水平有限,难免存在问题,欢 迎读者批评指正。读者在阅读中有任何问题,都可以通过电子邮件和我取得联系(ensho_go@ hotmail.com) 。 2017 年 9 月 于北京 图灵社区会员 非洲铜(africancu@126.com) 专享 尊重版权 前言 编写本书的目的在于架起两座桥梁:一是让数据库工程师从初级向中级进阶的桥梁,旨在帮助 初级工程师提升自己;二是理论(原理)和实践之间的桥梁。这里所说的“初级” ,具体是指已经掌 握了 SQL 的基础知识和技能,具有半年到一年左右的使用经验这种水平。 我们来做一个测试,帮助大家了解一下自己处于何种水平。下面有 10 个问题,请回答 Yes 或 No。 1. 没有在聚合函数中使用过 CASE 表达式。 2. 想象不出自连接是如何工作的。 3. 感觉 HAVING 子句不是很常用。 4. 感觉 IN 比 EXISTS 好用,所以更喜欢用 IN。 5. 听到布尔类型,脑海里浮现出的只有 true 和 false。 6. 设计表的时候不加 NOT NULL 的约束。 7. SQL 全部用大写字母或全部用小写字母来写。 8. 不能用一句话说出 GROUP BY 和 PARTITION BY 的区别。 9. 不知道 SQL 里的高阶函数的名字。 10. 试着读过 Joe Celko 的《SQL 权威指南》A 和《SQL 解惑(第 2 版) 》B, 但是感觉太难而没能读 完(或者压根儿没有读过) 。 大家的回答如何呢?如果全部都回答了 No,那很好,不要担心什么,请合上本书,立刻踏上成为 一名高级工程师的道路吧(也许只有本书 3-2 节“参考文献”值得略读一下) 。相反,如果一半以上都 回答了 Yes,那么本书将照亮大家的前进之路——这正是编写本书的目的,相信大家读后一定会有收获。 但是,接下来要说的内容可能会让大家觉得有点前后矛盾。因为,这本书即将介绍的技术绝不 是多么新潮的东西, 而是遵循标准 SQL 的非常普通的技术。关于这一点, 相信扫一眼目录你就会明白。 CASE 表达式、自连接、HAVING 子句、外连接、关联子查询、EXISTS……这些都是数据库工程师日 常工作中经常用到的技术。 A 原书名为 Joe Celko’ s SQL for Smarties: Advanced SQL Programming,本书共有五版。国内引进了第 4 版, 书名为《SQL 权威指南(第 4 版)》,朱巍等译,人民邮电出版社,2013 年。——编者注 B 米全喜译,人民邮电出版社,2008 年 4 月。——编者注 ● VI 前言 编写本书的目的就是从新的角度把光照向这些“并没有什么特别的、谁都知道的技术” ,照亮它 们迄今都没有被看到的一面。相信大家读完本书时,会从那个一直以来都被认为平淡无奇的关系数 据库的世界里,看到一些不一样的光辉。 下面,就让我们立刻前往博大精深的关系数据库的世界,开始探险之旅吧。 声明 ※本书中的URL等信息可能会有变化。 ※本书出版之际,我们力求准确阐述,但是翔泳社、原书作者、人民邮电出版社和译者均不对内容作任何保 证,对于由本书内容和示例代码造成的一切后果,不承担任何责任。 ※本书中的示例代码和脚本,以及执行结果页面都是基于特定环境的参考示例。 ※本书中的公司名、商品名分别是相关公司的商标或注册商标。 目 录 1 じ 「 神奇的 SQL 1- 1 CASE 表达式 �������������������������������� 2 ▲ 在SQL 里表达条件分支 练习题 2 19 1- 2 自连接的用法 ��������������������������������21 21 练习题 35 ▲ 面向集合语言 SQL 1- 3 三值逻辑和NULL ������������������������������38 ▲ SQL的温柔陷阱 38 1- 4 HAVING子句的力量 �����������������������������55 55 练习题 70 ▲ 出彩的配角 1- 5 外连接的用法 ��������������������������������72 ▲ SQL的弱点及其趋势和对策 72 练习题 92 1- 6 用关联子查询比较行与行 94 94 练习题 110 ▲ 用SQL 进行行与行之间的比较 1- 7 用SQL 进行集合运算 ���������������������������� 112 ▲ SQL 和集合论 112 练习题 128 ● VIII 目录 1- 8 EXISTS 谓词的用法 ����������������������������� 130 ▲ SQL中的谓词逻辑 130 练习题 146 1- 9 用SQL 处理数列 ������������������������������ 149 ▲ 灵活使用谓词逻辑 练习题 14

pdf文档 SQL进阶教程

计算机 > 数据库 > SQL > 文档预览
318 页 0 下载 262 浏览 0 评论 0 收藏 3.0分
温馨提示:如果当前文档出现乱码或未能正常浏览,请先下载原文档进行浏览。
SQL进阶教程 第 1 页 SQL进阶教程 第 2 页 SQL进阶教程 第 3 页 SQL进阶教程 第 4 页 SQL进阶教程 第 5 页
下载文档到电脑,方便使用
还有 313 页可预览,继续阅读
本文档由 user2021-02-28 13:59:07上传分享
给文档打分
您好可以输入 255 个字符
DocHub文库的中文名是什么?( 答案:多哈 )
评论列表
  • 暂时还没有评论,期待您的金玉良言