SQL案例解析

当前位置:首页 > 计算机网络 > 数据库 > SQL案例解析

出版社:清华大学出版社
出版日期:2011-8
ISBN:9787302259497
作者:徐桂祥
页数:489页

章节摘录

版权页:插图:当面对一个新的需求时,系统设计(System Design,SD)人员在设计开发系统时,需考虑是使用应用程序还是使用数据库。对于运算选用数据库还是应用程序,是一个仁者见仁智者见智的话题,依开发人员的背景、技术专长不同而有所不同。若选择以SQL命令或编写程序代码方式实现,下面列出几个思考方向:1.系统效率首先,对于我们(IT行业)而言,不管采用何种方式,最终评判、承受所选择结果的是一般使用者;对于开发人员而言,所面对的是系统开发期间(短暂)搭建的测试环境,而一般情况下,测试环境只能模拟真实环境中的一小部分(甚至是极小的一部分)。虽然本书的重点在于SQL技巧,但在此强调,不是所有的工作都应该(考虑)使用SQL命令、甚至使用一组SQL来完成,在此强调要以整体效率为首要考虑因素,善用数据库端、应用程序端的特点。数据库的优势在于查询、汇总计算大量数据等,但在逐笔运算、文字处理等能力上,则一般开发语言(如C#、Java)较为擅长。当面临系统效率不佳时,不要立即怀疑SQL或应用程序编写不当,可将事务依运行特性分割成小段,逐段分析并排除影响因子,探究效率真正瓶颈,以期达到整体效率较佳。当在程序循环中发现反复执行某组SOL时,单单一组SQL执行,效率或许可达到要求,但整体执行时间必须乘上执行次数。一般来说,此举将造成数据库效率极为低下与资源大量耗用,此种情况下请进行Code Review,通常这是彻底解决效率低下的主要途径。

内容概要

拥有多年半导体相关合格率分析软件的开发经验,曾参与台湾积体电路、联电、力晶半导体、新加坡特许半导体、中国大陆龙腾光电等合格率分析软件的开发及项目导入。

擅长性能调整、海量数据分析处理以及统计应用软件的开发。

拥有MCITP:Database DeveloDer、OraclePL/SQL OCP国际认证。

书籍目录

第1章  数据库的使用
1
1.1 什么是SQL
2
1.2 程序语言或数据库
3
1.3 SQL Server 概述
5
1.4 Oracle概述
7
第2章 SELECT查询语句
9
2.1 基本SELECT子句
10
2.2 字段选择(SELECT)
12
2.3 指定数据源(FROM)
14
2.4 指定查询限定条件(WHERE)
15
2.4.1 比较运算符
15
2.4.2 以逻辑运算符组合多个条件
17
2.4.3 列举项目(IN / NOT IN)
19
2.4.4 NULL选取
20
2.4.5 范围限制(BETWEEN...AND)
21
2.4.6 字符模糊匹配
22
2.5 查询结果的排序(ORDER BY)
23
2.6 数据分组(GROUP BY)
26
第3章 基本SQL用法
29
3.1 SQL编写风格
30
3.2 数据表连接的使用
33
3.2.1 内连接
34
3.2.2 外连接
37
3.2.3 交叉连接
39
3.3 子查询
41
3.3.1 嵌套子查询
42
3.3.2 相关子查询
43
3.4 集合的使用
45
3.4.1 并集(UNION)
47
3.4.2 交集(INTERSECT)
49
3.4.3 差集(MINUS)
49
3.5 CASE表达式
51
3.5.1 简单型CASE子句
51
3.5.2 搜索式CASE子句
52
3.6 HAVING子句的使用
55
3.7 DISTINCT语法的使用
57
3.8 特殊SQL排序法
59
3.8.1 CASE表达式
60
3.8.2 字符串位置函数(INSTR、CHARINDEX)
67
3.8.3 COUNT函数(聚合函数)
68
3.9 如何取得两数据集中非重复的数据
69
3.9.1 FULL OUTER JOIN
71
3.9.2 区域去除
72
3.10 如何避免除零错误(Avoid Diving by Zero)
76
第4章 数据变更处理
79
4.1 新增─INSERT
80
4.1.1 数据输入(INSERT...VALUES)
80
4.1.2 数据来自其他表(INSERT...SELECT)
82
4.2 序列值的使用
83
4.3 取得当前自动编号值
89
4.3.1 SCOPE_IDENTITY()
89
4.3.2 OUTPUT
91
4.3.3 RETURNING
92
4.4 更新数据─UPDATE
93
4.5 删除数据─DELETE
96
4.5.1 删除特定数据
96
4.5.2 使用连接删除数据(DELETE With JOIN)
97
4.5.3 删除重复的数据
98
4.5.4 删除大量数据
100
4.5.5 清空数据表(TRUNCATE TABLE)
101
第5章 数据类型
103
5.1 基本数据类型
104
5.1.1 字符类型
104
5.1.2 数值类型
106
5.1.3 日期类型
111
5.2 数据类型的选择
113
5.3 类型转换
115
5.4 NULL概述
116
第6章 字符串函数的使用
121
6.1 字符串函数介绍
123
6.1.1 字符串连接
123
6.1.2 截取子串
124
6.1.3 字符位置
127
6.1.4 获取字符串长度(字符个数)
128
6.1.5 删除空格(特定字符)
129
6.1.6 字符串替换
130
6.1.7 字符串填补
134
6.1.8 变换字符/字符ASCII码
135
6.1.9 变换大小写
136
6.2 字符串模糊比较
136
6.3 是否为数值字符串
141
6.4 中文字判断
143
6.5 筛选特定字符串前缀─以半导体实验生产批号为例
146
6.6 固定长度字符串─以特定字符补足长度
148
6.7 特定字符出现次数─以面板检测结果为例
149
第7章 日期函数的使用
155
7.1 格式转换
157
7.2 取得部分日期信息
161
7.3 日期运算的概念
164
7.4 日期加减运算
168
7.5 取得两个日期/时间的差
174
7.6 取得特定日期
176
7.7 找出下个周五
181
第8章 数值函数的使用
185
8.1 数值函数
186
8.1.1 余数(MOD)和商数
187
8.1.2 常用的数值运算函数
187
8.1.3 次方、平方根、自然对数、对数、EXP(e)
191
8.1.4 圆周率(PI)、三角函数(Sin、Cos、Tan)
192
8.2 转换函数
193
8.3 SQL Server数学运算时的注意事项
198
8.4 判断是否为整数─余数的应用
203
8.5 判断两个日期前后顺序─SIGN函数的应用
204
第9章 SQL用法进阶
207
9.1 数据行转置─Row To Column
210
9.1.1 通过SQL命令实现转置
210
9.1.2 使用PIVOT命令实现转置
214
9.2 数据列转置─Column To Row
220
9.3 员工专长明细
227
9.4 累计汇总
230
9.5 汇总数据
238
9.6 数据记录的排序——传回各种书籍订单订购数量排名
249
9.7 每个部门中薪水最高的员工
253
9.8 机群分组合并状态
257
9.9 个税计算
266
9.10 商品组合
270
9.11 求职网
279
9.12 Defect Overlap─缺陷重叠分析
284
9.13 职务代理关系表/系统异常处理人员顺序表
289
9.14 组织图─树型结构展开
294
第10章 日期区间报表
307
10.1 日报
309
10.1.1 日期类型
309
10.1.2 字符类型
312
10.2 月报
314
10.2.1 日期类型
314
10.2.2 字符类型
317
10.3 周报
318
10.3.1 周的特殊定义
319
10.3.2 运算差异分析
321
10.4 小时区间报表
323
10.4.1 3小时区间报表
324
10.4.2 5小时区间报表
328
10.4.3 利用序列产生报表
332
10.5 科学园区四二轮报表
334
10.5.1 四二轮报表-日报
337
10.5.2 四二轮报表-月报
340
10.5.3 四二轮报表-周报
345
10.5.4 综合日期报表
349
10.6 完整日期区间报表
361
10.6.1 完整日期报表-未转置
362
10.6.2 完整日期报表-以产品转置
365
10.6.3 完整日期报表-以日期转置
368
第11章 存储过程
371
11.1 存储过程
373
11.1.1 程序
373
11.1.2 函数
377
11.1.3 错误来源
380
11.1.4 加密
381
11.2 触发器
383
11.3 游标的使用
394
11.4 程序包
403
11.5 用户自定义聚合函数
407
第12章 异质数据源
421
12.1 分布式查询─Database Link
422
12.2 SQL Server串联其他数据源
438
12.2.1 查询
439
12.2.2 INSERT / UPDATE
441
12.2.3 对象及查询命令的差异
441
12.2.4 结合异质数据
443
12.3 SQL*Loader(SQLLDR)
446
第13章 特殊应用
453
13.1 Oracle CONNECT BY命令特殊应用
454
13.1.1 序列产生
455
13.1.2 Column To Row(UNPIVOT)
456
13.1.3 分组字符串合并
458
13.1.4 解析CSV字符串
461
13.2 通用表表达式的使用─CTE
462
13.2.1 非递归的运用─查询暂存
463
13.2.2 递归的运用
464
13.3 序列数据表的应用
468
13.4 随机数
469
13.5 IN-LIST的使用
475
13.6 制程能力指标
478
13.7 系统数据表的使用
482
13.8 在SQL Server中进行字符串分组串联─FOR XML应用
486

编辑推荐

《SQL案例解析:以SQL Server与Oracle为例》汇集作者多年的数据库开发经验,同时探讨SQL语法、Oracle及SQL Server这两种企业级数据库的应用。书中涵盖许多极具商业价值的案例,特别适合已具有Oracle或SQL Server经验的数据库开发人员、DBA、软件架构师、数据库应用及维护人员阅读。借助《SQL案例解析:以SQL Server与Oracle为例》,可帮助他们形成解决实际问题的思路并提高问题处理能力。《SQL案例解析:以SQL Server与Oracle为例》特色:以对比式写法,整理出Oracle及SQL Server常用函数问的差异。对于原本需要以应用程序或存储过程实现的需求,尝试直接以一组SQL指令完成。除了提供另一种思维及解决模式外,更能有效提升数据库的执行效率。探讨常见的日期区间报表的制作方法,以日报,月报、周报、小时区问报表、科学园区四:二轮工时报表及完整日期报表为例。详解如何连接异质数据源,以及如何利用SQL指令实现递归、随机数、筛选等功能。《SQL案例解析:以SQL Server与Oracle为例》探讨的概念及思想同MySQL、DB2、Teradata等数据库系统。来自工作现场的DBA手记。

作者简介

这是一本集10年经验而成的书,采用循序渐进的编写方式,着重于实例,以确保理论内容的准确性。本书作者从事Oracle DBA教学研究工作多年,拥有Oracle最高等级的OCM认证。作者在书中,将他毕生所学传授给已担任DBA工作的数据库管理人员,或是想要往这个方向发展的初学者。书中涵盖一套最完整,且最具逻辑性的知识体系,特别适合有经验的DBA阅读,可作为其顾问级专家进阶的阶梯。

图书封面


 SQL案例解析下载



发布书评

 
 


精彩短评 (总计20条)

  •     这个商品不错,印刷很好,送货很快。
  •     喜欢这种比较实际的书
  •     书还不错,心仪已久,不过说好的发票没有,怎么获取发票?求解释
  •     案例经单,丰富。 个人觉得无论是新手还是经验丰富者都可从本书中收益
  •     对比讲解~~终于分清俩不一样的地方了。。。
  •     用来学习数据库的
  •     大概看了一遍,正适合现在的我
  •     给别人买的……应该不错
  •     这本书很好,正是我的需要的。
  •     内容很基础,也比较实用
  •     的确是心血之作,涵盖了日常SQL中的各种非那么普通的情况。
  •     很实用,不过感觉需要有一个工作经验再来读这本书。
  •     速度快,还没看,不过应该不错
  •     SQL案例解析这本书很好,得是有些基础的学者才适合的,讲解了作者的一些问题,数据库开发是所遇到的情况及解决方法,很适合在工作中遇到问题的开发者
  •     我是想从基础开始从头把SQL过一遍,所以买的此书,感觉很不错,二个数据库的方法,对比着讲解,从网上下他的本书源码,学习起来很不错。
  •     SQL Server与Oracle语法对比很详细,对一些函数的用法解析的很透彻。推荐已经使用其中一种数据库而将使用另外一种数据库的朋友们阅读。
  •     没都看,但感觉挺好,主要是描述的方法和内容都有新意
  •     书的内容很好,但书的外观不是很新
  •     这本书图文并茂,讲了很多实例,比较适用。
  •     本书是作者经验之谈,值得借鉴

类似图书

 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024