SL进阶教程
¥
54.78
6.1折
¥
89.8
全新
库存93件
作者[日]MICK
出版社人民邮电出版社
ISBN9787115609762
出版时间2022-10
装帧平装
开本16开
定价89.8元
货号12231050
上书时间2024-12-18
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
MICK(作者) 日本资历深厚的数据库工程师,就职于某系统集成商,致力于数据仓库和商业智能的开发。日常除了在其个人主页“关系数据库的世界”中分享数据库和SQL的相关技术信息外,还为翔泳社的网络媒体CodeZine和日本IT技术杂志WEB+DB PRESS撰写技术文章,同时还是《SQL解惑(第2版)》和《SQL权威指南(第4版)》日文版的译者 吴炎昌(译者) 毕业于西北工业大学软件工程专业。曾供职于日本多家软件公司,从事系统开发工作。2015年回国后加入美团点评,现任系统研发工程师。爱好旅行、电影,以及品尝各种美食,有一位志趣相投的伴侣。 侯振龙(译者) 管理科学与工程专业硕士,日语一级,软件开发工程师,具有十年以上对日软件开发经验,现就职于某日本独资企业。
目录
第 1章 神奇的SQL 1 1-1 CASE表达式 2 在SQL里表达条件分支 写在前面 2 CASE表达式的写法 2 将已有编号方式转换为新的方式并统计 4 用一条SQL语句进行多条件统计 7 用CHECK约束定义多个列的条件关系 11 在UPDATE语句里进行条件分支 12 表之间的数据匹配 15 在CASE表达式中使用聚合函数 17 本节小结 20 练习题 22 1-2 必知必会的窗口函数 25 顺序编程的复活 什么是窗口 26 一张图看懂窗口函数 27 使用帧子句将其他行移至当前行 29 窗口函数的内部动作 34 本节小结 37 练习题 39 1-3 自连接的用法 41 从物理到逻辑的跳跃 可重排列、排列、组合 41 删除重复行 45 查找局部不一致的列 48 本节小结 50 练习题 55 1-4 三值逻辑和NULL 56 SQL的温柔陷阱 写在前面 56 理论篇 57 实践篇 61 本节小结 71 练习题 78 1-5 EXISTS 谓词的用法 79 SQL中的谓词逻辑 写在前面 79 理论篇 79 实践篇 85 本节小结 95 练习题 96 1-6 HAVING 子句的力量 99 将世界看作集合 寻找缺失的编号 99 用HAVING 子句进行子查询:求众数 105 查询不包含NULL 的集合 107 特征函数的应用 110 使用HAVING 语句表达全称量化 113 单重集合与多重集合 116 用关系除法运算进行购物篮分析 120 本节小结 123 练习题 128 1-7 用窗口函数进行行间比较 130 告别关联子查询 写在前面 130 增加、减少、没有变化 130 时间轴有间断时:和过去最临近的时间进行比较 135 窗口函数与关联子查询 137 查询重叠的时间区间 140 本节小结 145 练习题 145 1-8 外连接的用法 147 SQL的弱点及其趋势和对策 写在前面 147 用外连接进行行列转换(1)(行→列):制作交叉表 147 用外连接进行行列转换(2)(列→行):汇总重复项于一列 151 在交叉表里制作嵌套式表侧栏 153 作为乘法运算的连接 158 全外连接 160 用外连接进行集合运算 163 用外连接求差集:A - B 163 用外连接求差集:B - A 164 用全外连接求异或集 165 本节小结 166 练习题 168 1-9 用SQL 进行集合运算 170 SQL和集合论 写在前面 170 导入篇:集合运算的几个注意事项 170 比较表和表:检查集合相等性之基础篇 172 比较表和表:检查集合相等性之进阶篇 175 用差集实现关系除法运算 177 寻找相等的子集 180 用于删除重复行的高效SQL 183 本节小结 185 练习题 187 1-10 用SQL 处理数列 188 用SQL 处理有序数据——集大成 写在前面 188 生成连续编号 188 求全部的缺失编号 192 3 个人能坐得下吗 194 有换排的数列 197 单调递增和单调递减 199 本节小结 202 练习题 204 1-11 让SQL 飞起来 205 简单的SQL性能优化 写在前面 205 使用高效的查询 205 避免排序 208 真的用到索引了吗 213 减少中间表 216 本节小结 218 1-12 SQL 编程方法 220 确立SQL 的编程风格 写在前面 220 表的设计 222 编程的方针 223 SQL 编程方法 230 本节小结 234 第 2章 关系数据库的世界 237 2-1 关系数据库的近现代史 238 数据库有过两次破坏性创新吗 关系数据库的历史 238 破坏性创新会重复吗 243 NoSQL 的类型和解决方案 245 性能问题的解决方案 245 本节小结 247 2-2 为什么叫“关系”模型 250 为什么不叫“表”模型 关系的定义 250 定义域的忧虑 253 关系值和关系变量 254 存在“关系的关系”吗 255 2-3 开始于关系,结束于关系 257 关于封闭世界的幸福 从运算角度审视集合 257 实践和原理 259 2-4 地址:巨大的怪物 261 为什么关系数据库里没有指针 写在前面 261 关系模型是为摆脱地址而生的 262 编程中泛滥的地址 263 不曾远去的老将——约翰·巴克斯的梦想 265 2-5 关于顺序的冒险 266 SQL的中心法则 迟来的主角 266 行应该有顺序吗 267 2-6 GROUP BY 和PARTITION BY 271 物以“类”聚 二者的区别 271 2-7 从面向过程思维向声明式思维、面向集合思维转变的7个关键点 276 画圆 写在前面 276 1. 用CASE 表达式代替IF 语句和CASE 语句。SQL 更像一种函数式语言 277 2. 用GROUP BY 和窗口函数代替循环 278 3. 表中的行没有顺序 279 4. 将表看成集合 280 5. 理解EXISTS 谓词和“量化”的概念 280 6. 学习HAVING 子句的真正价值 281 7. 不要画长方形,去画圆 282 2-8 人类的逻辑学 284 浅谈逻辑学的历史 适当地抛开命题的真假吧 284 逻辑学的革命 286 人类的逻辑学 287 2-9 SQL 和递归集合 288 SQL和集合论的紧密关系 实际工作中的递归集合 288 冯·诺依曼的前辈们 288 数是什么 290 SQL 的魔术与科学 293 2-10 消灭NULL 委员会 294 全世界的数据库工程师团结起来 表明决心:告全体数据库工程师书 294 为什么NULL 如此惹人讨厌 294 并不能接近消除NULL 296 编号:使用异常编号 297 名字:使用“无名氏” 297 数值:用0 代替 298 日期:用优选值或最小值代替 298 本节小结 299 2-11 SQL 中的层级 300 严格的等级社会 谓词逻辑中的层级、集合论中的层级 300 为什么聚合后不能再引用原表中的列 300 单元素集合也是集合 304 第3章 附录 307 3-1 习题解答 308 3-2 参考文献 331 SQL 整体 331 数据库设计 332 性能 333 集合论和谓词逻辑/三值逻辑 333 后记 335
内容摘要
本书是热销书《SQL基础教程》的作者MICK为志在向中级进阶的数据库工程师编写的一本SQL技能提升指南。全书可分为两大部分。第一部分介绍了SQL语言不同寻常的使用技巧,带领读者重新认识CASE表达式、窗口函数、自连接、EXISTS谓词、HAVING子句、外连接、行间比较、集合运算、数列处理等SQL常用技术,发掘它们的新用法。这部分不仅穿插讲解了这些技巧背后的逻辑和相关知识,而且辅以丰富的示例程序,旨在帮助读者从面向过程的思维方式转换为面向集合的思维方式。第二部分介绍了关系数据库的发展史,并从集合论和逻辑学的角度讲述了SQL和关系模型的理论基础,旨在帮助读者加深对SQL语言和关系数据库的理解。此外,本书很多节的末尾设置有练习题,并在书末提供了解答,方便读者检验自己对书中知识点的掌握程度。
主编推荐
1.进阶中级实用指南!160张图表+412段代码,掌握面向集合思维,发掘SQL常见技术的新用法 2.基于标准SQL编写,示例程序均可下载 3.深入浅出,示例丰富,转变面向过程语言思维定式,切实提升SQL编程水平 4.解析经典文献,导入逻辑学与集合论,深刻理解SQL底层逻辑 5.基于各DBMS新版本新升级,内容更新更全面,详解现代SQL新功能
精彩内容
本书是热销书《SQL基础教程》的作者MICK为志在向中级进阶的数据库工程师编写的一本SQL技能提升指南。全书可分为两大部分。第一部分介绍了SQL语言不同寻常的使用技巧,带领读者重新认识CASE表达式、窗口函数、自连接、EXISTS谓词、HAVING子句、外连接、行间比较、集合运算、数列处理等SQL常用技术,发掘它们的新用法。这部分不仅穿插讲解了这些技巧背后的逻辑和相关知识,而且辅以丰富的示例程序,旨在帮助读者从面向过程的思维方式转换为面向集合的思维方式。第二部分介绍了关系数据库的发展史,并从集合论和逻辑学的角度讲述了SQL和关系模型的理论基础,旨在帮助读者加深对SQL语言和关系数据库的理解。此外,本书很多节的末尾设置有练习题,并在书末提供了解答,方便读者检验自己对书中知识点的掌握程度。
— 没有更多了 —
以下为对购买帮助不大的评价