具体描述
本书是Microsoft SQL Server 2008系列中的一本。书中全面深入地介绍了T-SQL的基本元素,以及SQL Server 2008中新增加的一些特性。主要包括SQL的基础理论、逻辑查询处理、SELECT查询、连接和子查询、表表达式、过滤和分组、透视转换、修改数据、事务和一致性的处理、可编程对象等内容。
书中并非系统地罗列T-SQL的各种语法元素,而是结合实践中的各种问题,教读者如何用SQL作为语言工具来思考问题,揭示基于集合查询的强大威力。本书内容丰富、文字简洁明快,列举的实例具有一定的难度,而且实用性较强,可以把它们作为解决实际问题的标准模板。阅读本书,可以充分地理解T-SQL语言和获得良好的编程实践,学会如何编写更加有效而强大的查询。书中大部分章节后面都提供了练习题目,可以帮助读者更好地掌握所学的内容。
本书适合须要学习T-SQL的各级程序员和数据库专业人员,是他们快速掌握T-SQL的必备参考图书。
作者简介
Itzik Ben-Gan是Solid Quality Mentors的首席顾问和创始人。他从1999年以来一直是SQL Server方面的Microsoft MVP。Itzik在世界各地从事T-SQL查询、编程和查询优化相关的培训和咨询工作。他是Inside Microsoft SQL Server: T-SQL Querying和Inside Microsoft SQL Server: T-SQL Programming的作者之一,同时也为SQL Server Magazine和MSDN撰写了很多文章,并在许多业界的专题会议上发表演讲,包括Tech Ed、DevWeek、PASS和SQL Server Connections。
目录信息
引言 XV
第1章 T-SQL查询和编程基础 1
1.1 理论背景 1
1.2 SQL SERVER体系结构 12
1.3 创建表和定义数据完整性 18
1.4 总结 24
第2章 单表查询 25
2.1 SELECT语句的元素 25
2.2 谓词和运算符 51
2.3 CASE表达式 54
2.4 NULL值 58
2.5 同时操作(ALL-AT-ONCE OPERATION) 62
2.6 处理字符数据 63
2.7 处理日期和时间数据 75
2.8 查询元数据 89
2.9 总结 92
2.10 练习 92
2.11 解决方案 96
第3章 联接查询 101
3.1 交叉联接 102
3.2 内联接 106
3.3 特殊的联接实例 109
3.4 外联接 113
3.5 总结 123
3.6 练习 123
3.7 解决方案 129
第4章 子查询 133
4.1 独立子查询 134
4.2 相关子查询 140
4.3 高级子查询 144
4.4 总结 151
4.5 练习 152
4.6 解决方案 156
第5章 表表达式 161
5.1 派生表 161
5.2 公用表表达式(CTE) 167
5.3 视图 172
5.4 内联表值函数 179
5.5 APPLY运算符 181
5.6 总结 184
5.7 练习 184
5.8 解决方案 189
第6章 集合运算 193
6.1 UNION(并集)集合运算 194
6.2 INTERSECT(交集)集合运算 196
6.3 EXCEPT(差集)集合运算 200
6.4 集合运算的优先级 203
6.5 避开不支持的逻辑查询处理 204
6.6 总结 206
6.7 练习 206
6.8 解决方案 210
第7章 透视、逆透视及分组集 213
7.1 透视转换 213
7.2 逆透视转换 219
7.3 分组集 224
7.4 总结 231
7.5 练习 231
7.6 解决方案 234
第8章 数据修改 237
8.1 插入数据 237
8.2 删除数据 247
8.3 更新数据 250
8.4 合并数据 255
8.5 通过表表达式修改数据 259
8.6 带有TOP选项的数据更新 262
8.7 OUTPUT子句 263
8.8 总结 270
8.9 练习 270
8.10 解决方案 274
第9章 事务和并发 279
9.1 事务 279
9.2 锁定和阻塞 282
9.3 隔离级别 292
9.4 死锁 306
9.5 总结 309
9.6 练习 309
第10章 可编程对象 321
10.1 变量 321
10.2 批处理 324
10.3 流程控制元素 327
10.4 游标 331
10.5 临时表 335
10.6 动态SQL 340
10.7 例程 346
10.8 错误处理 355
10.9 总结 359
附录A SQL SERVER使用入门 361
索引 381
· · · · · · (收起)
读后感
第一章介绍了sql的理论基础: 集合论,谓词逻辑,关系模型。 然后介绍了sql server的体系结构。 有了理论基础后,从第二章开始到最后,都是T-SQL的介绍,量大细节多,很容易就迷失到语法的细节中。 语法部分可以浮光掠影的看一下。 推荐两种比较好的学习此书语法的方法: 一...
推荐他的两个video,关于讲解cross apply的应用。 https://www.youtube.com/watch?v=-m426WYclz8 https://www.youtube.com/watch?v=goyWzAu-AA0
本书给我最大亮点印象: 1. 关于集合论和谓词逻辑的介绍,让我对SQL语句的认识一下子就清晰起来了,终于明白别人一直再跟我说的“你问什么,SQL回答什么“的意思了,还有那一句”对关系操作的结果还是关系“让我对表的和表的操作上升到另一个高度,那些复杂的语...
非常非常好的T-SQL基礎書,不儸嗦,直擊要害。作者的功力令人嘆服,譯文也很流暢。本來打算就看感興趣的章節,沒想到每一章都牢牢地抓住我,因爲總能幫助我理解一些原來理解不透徹或者疏忽的地方,一些新鮮的技巧也讓人驚喜(比如Over的用法,鏈接的機制,SQL各個階段執行的...
推荐他的两个video,关于讲解cross apply的应用。 https://www.youtube.com/watch?v=-m426WYclz8 https://www.youtube.com/watch?v=goyWzAu-AA0
用户评价
对于我这样一位刚开始接触SQL Server的开发者来说,《Microsoft SQL Server 2008技术内幕》是一本非常友好的入门指南,但它的价值远不止于此。这本书的作者们似乎预料到了我们可能遇到的各种问题,并用清晰易懂的语言一一解答。我最喜欢的部分是关于SQL Server的内存管理和缓冲池的章节。在编写应用程序时,我们常常会编写一些SQL查询,但很少会去思考这些查询在数据库内部是如何被处理的。这本书详细解释了SQL Server如何管理内存,如何利用缓冲池来缓存数据页以提高查询性能。这些知识让我能够更好地理解为什么我的某些查询会比其他查询慢,以及如何通过优化查询语句或调整数据库配置来提升整体性能。书中还提供了一些关于SQL Server集成服务(SSIS)和SQL Server报告服务(SSRS)的介绍,这对我扩展数据库开发技能非常有帮助。总而言之,这是一本内容丰富、讲解清晰,并且能真正帮助读者提升SQL Server技术实力的优秀书籍。
读完《Microsoft SQL Server 2008技术内幕》,我最大的感受是,这本书不仅仅是一本技术手册,更像是一位经验丰富的导师,在我学习SQL Server的道路上给予了极大的启发。我特别欣赏书中对于数据页结构、行存储和列存储的讲解。作者们通过生动的图示和详细的说明,让我清晰地理解了数据在磁盘上的物理存储方式,以及SQL Server是如何进行高效的数据检索和更新的。在阅读有关索引的文章时,我曾经对B树索引的结构有些困惑,但这本书里的解释让我茅塞顿开,理解了不同类型的索引是如何工作的,以及在什么情况下选择哪种索引能带来最佳性能。而且,书中还包含了一些非常实用的 troubleshooting 指南,当遇到性能问题时,能够提供有效的诊断思路和解决方案。这本书让我能够更自信地处理SQL Server相关的技术挑战,并且在实际工作中应用所学的知识,显著提升了工作效率。
我是一名正在努力提升自身技能的初级数据库管理员,平时工作中遇到不少疑难杂症,总觉得对SQL Server的理解不够深入,就像隔着一层窗户纸。朋友推荐了《Microsoft SQL Server 2008技术内幕》,一开始还有些担心内容会过于晦涩难懂,但事实证明我的顾虑是多余的。这本书的语言风格非常平实,没有华丽辞藻,却字字珠玑。它从最基础的概念讲起,循序渐进地引导读者进入SQL Server的内部世界。我最喜欢的地方在于,书中对于每一个技术点都给出了清晰的解释,并且会用通俗易懂的比喻来辅助理解。例如,在讲解存储过程和函数的时候,作者并不是简单地告诉你怎么写,而是分析了它们在SQL Server内部是如何被编译和执行的,以及它们与普通SQL语句在性能上的区别。这让我明白了为什么有时候使用存储过程能带来性能上的提升,而不是盲目地遵循某种最佳实践。这本书让我感觉自己不再是被动地接受技术,而是真正地理解了技术背后的逻辑,这种成就感是无与伦比的。
作为一名多年数据库从业者,我一直对SQL Server这个平台充满敬意,也希望能不断深入理解其底层运作机制。最近入手了《Microsoft SQL Server 2008技术内幕》,这本书的厚度就足以让人感受到其中蕴含的知识深度。拿到书的那一刻,我立刻被其扎实的理论基础和翔实的案例分析所吸引。这本书不仅仅是罗列了SQL Server 2008的各种功能和命令,而是真正地从“内幕”的角度,剖析了SQL Server是如何工作的,包括其内存管理、I/O子系统、查询处理、存储引擎等核心组件的细节。作者们在每一章都深入浅出地讲解了复杂的概念,并且提供了大量可操作的示例,让我能够边读边练,亲身体验SQL Server的强大之处。我特别喜欢书中关于事务日志和锁机制的章节,这些内容对于理解数据库的并发控制和高可用性至关重要。通过这本书,我对SQL Server的认识提升到了一个新的层面,不再仅仅停留在应用层面,而是能够更宏观地把握其架构和性能优化的关键点。即使对于有一定SQL Server使用经验的开发者来说,这本书也提供了宝贵的视角,帮助我们写出更高效、更健壮的SQL代码。
作为一名资深的数据工程师,我一直在寻找一本能够系统性梳理SQL Server 2008架构的书籍,尤其是关于其内部工作原理和性能调优的细节。当我翻开《Microsoft SQL Server 2008技术内幕》时,立刻被其严谨的逻辑和全面的覆盖面所震撼。这本书深入探讨了SQL Server的各个核心模块,从SQL Server Agent的调度机制到分布式事务的实现,再到全文检索的索引原理,无一不包含在内。作者们以其深厚的专业知识,为我们展现了一个完整而精密的数据库系统。书中关于查询优化器和执行计划生成的分析尤为精彩,详细阐述了SQL Server是如何解析、优化和执行SQL语句的,以及如何通过分析执行计划来诊断和解决性能瓶颈。这对我日常工作中遇到的复杂查询性能问题提供了极具价值的指导。此外,对于SQL Server的安全性以及高可用性方案的深入讲解,也让我对如何构建稳定可靠的数据平台有了更清晰的认识。这本书无疑是SQL Server 2008领域的一部权威之作。
内容不是很深,搞清楚了一些以前一直没有搞清楚的概念,要是早点看这本书就好了。
SQL系Q1
虽然是基础,读过之后还是有所收获。
很基础,天天都在用的sql。集合,集合,集合!
SQL系2