SQL案例解析
2011-8
清华大学出版社
徐桂祥
489
无
本书是一本集10年经验而成的书,采用循序渐进的编写方式,着重于实例,以确保理论内容的准确性。本书作者从事Oracle
DBA教学研究工作多年,拥有Oracle最高等级的OCM认证。作者在书中,将他毕生所学传授给已担任DBA工作的数据库管理人员,或是想要往这个方向发展的初学者。书中涵盖一套最完整,且最具逻辑性的知识体系,特别适合有经验的DBA阅读,可作为其顾问级专家进阶的阶梯。
拥有多年半导体相关合格率分析软件的开发经验,曾参与台湾积体电路、联电、力晶半导体、新加坡特许半导体、中国大陆龙腾光电等合格率分析软件的开发及项目导入。 擅长性能调整、海量数据分析处理以及统计应用软件的开发。 拥有MCITP:Database DeveloDer、OraclePL/SQL OCP国际认证。
第1章 数据库的使用
1.1 什么是SQL
1.2 程序语言或数据库
1.3 SQL Server 概述
1.4 Oracle概述
第2章 SELECT查询语句
2.1 基本SELECT子句
2.2 字段选择(SELECT)
2.3 指定数据源(FROM)
2.4 指定查询限定条件(WHERE)
2.4.1 比较运算符
2.4.2 以逻辑运算符组合多个条件
2.4.3 列举项目(IN / NOT IN)
2.4.4 NULL选取
2.4.5 范围限制(BETWEEN...AND)
2.4.6 字符模糊匹配
2.5 查询结果的排序(ORDER BY)
2.6 数据分组(GROUP BY)
第3章 基本SQL用法
3.1 SQL编写风格
3.2 数据表连接的使用
3.2.1 内连接
3.2.2 外连接
3.2.3 交叉连接
3.3 子查询
3.3.1 嵌套子查询
3.3.2 相关子查询
3.4 集合的使用
3.4.1 并集(UNION)
3.4.2 交集(INTERSECT)
3.4.3 差集(MINUS)
3.5 CASE表达式
3.5.1 简单型CASE子句
3.5.2 搜索式CASE子句
3.6 HAVING子句的使用
3.7 DISTINCT语法的使用
3.8 特殊SQL排序法
3.8.1 CASE表达式
3.8.2 字符串位置函数(INSTR、CHARINDEX)
3.8.3 COUNT函数(聚合函数)
3.9 如何取得两数据集中非重复的数据
3.9.1 FULL OUTER JOIN
3.9.2 区域去除
3.10 如何避免除零错误(Avoid Diving by Zero)
第4章 数据变更处理
4.1 新增─INSERT
4.1.1 数据输入(INSERT...VALUES)
4.1.2 数据来自其他表(INSERT...SELECT)
4.2 序列值的使用
4.3 取得当前自动编号值
4.3.1 SCOPE_IDENTITY()
4.3.2 OUTPUT
4.3.3 RETURNING
4.4 更新数据─UPDATE
4.5 删除数据─DELETE
4.5.1 删除特定数据
4.5.2 使用连接删除数据(DELETE With JOIN)
4.5.3 删除重复的数据
4.5.4 删除大量数据
4.5.5 清空数据表(TRUNCATE TABLE)
第5章 数据类型
5.1 基本数据类型
5.1.1 字符类型
5.1.2 数值类型
5.1.3 日期类型
5.2 数据类型的选择
5.3 类型转换
5.4 NULL概述
第6章 字符串函数的使用
6.1 字符串函数介绍
6.1.1 字符串连接
6.1.2 截取子串
6.1.3 字符位置
6.1.4 获取字符串长度(字符个数)
6.1.5 删除空格(特定字符)
6.1.6 字符串替换
6.1.7 字符串填补
6.1.8 变换字符/字符ASCII码
6.1.9 变换大小写
6.2 字符串模糊比较
6.3 是否为数值字符串
6.4 中文字判断
6.5 筛选特定字符串前缀─以半导体实验生产批号为例
6.6 固定长度字符串─以特定字符补足长度
6.7 特定字符出现次数─以面板检测结果为例
第7章 日期函数的使用
7.1 格式转换
7.2 取得部分日期信息
7.3 日期运算的概念
7.4 日期加减运算
7.5 取得两个日期/时间的差
7.6 取得特定日期
7.7 找出下个周五
第8章 数值函数的使用
8.1 数值函数
8.1.1 余数(MOD)和商数
8.1.2 常用的数值运算函数
8.1.3 次方、平方根、自然对数、对数、EXP(e)
8.1.4 圆周率(PI)、三角函数(Sin、Cos、Tan)
8.2 转换函数
8.3 SQL Server数学运算时的注意事项
8.4 判断是否为整数─余数的应用
8.5 判断两个日期前后顺序─SIGN函数的应用
第9章 SQL用法进阶
9.1 数据行转置─Row To Column
9.1.1 通过SQL命令实现转置
9.1.2 使用PIVOT命令实现转置
9.2 数据列转置─Column To Row
9.3 员工专长明细
9.4 累计汇总
9.5 汇总数据
9.6 数据记录的排序——传回各种书籍订单订购数量排名
9.7 每个部门中薪水最高的员工
9.8 机群分组合并状态
9.9 个税计算
9.10 商品组合
9.11 求职网
9.12 Defect Overlap─缺陷重叠分析
9.13 职务代理关系表/系统异常处理人员顺序表
9.14 组织图─树型结构展开
第10章 日期区间报表
10.1 日报
10.1.1 日期类型
10.1.2 字符类型
10.2 月报
10.2.1 日期类型
10.2.2 字符类型
10.3 周报
10.3.1 周的特殊定义
10.3.2 运算差异分析
10.4 小时区间报表
10.4.1 3小时区间报表
10.4.2 5小时区间报表
10.4.3 利用序列产生报表
10.5 科学园区四二轮报表
10.5.1 四二轮报表-日报
10.5.2 四二轮报表-月报
10.5.3 四二轮报表-周报
10.5.4 综合日期报表
10.6 完整日期区间报表
10.6.1 完整日期报表-未转置
10.6.2 完整日期报表-以产品转置
10.6.3 完整日期报表-以日期转置
第11章 存储过程
11.1 存储过程
11.1.1 程序
11.1.2 函数
11.1.3 错误来源
11.1.4 加密
11.2 触发器
11.3 游标的使用
11.4 程序包
11.5 用户自定义聚合函数
第12章 异质数据源
12.1 分布式查询─Database Link
12.2 SQL Server串联其他数据源
12.2.1 查询
12.2.2 INSERT / UPDATE
12.2.3 对象及查询命令的差异
12.2.4 结合异质数据
12.3 SQL*Loader(SQLLDR)
第13章 特殊应用
13.1 Oracle CONNECT BY命令特殊应用
13.1.1 序列产生
13.1.2 Column To Row(UNPIVOT)
13.1.3 分组字符串合并
13.1.4 解析CSV字符串
13.2 通用表表达式的使用─CTE
13.2.1 非递归的运用─查询暂存
13.2.2 递归的运用
13.3 序列数据表的应用
13.4 随机数
13.5 IN-LIST的使用
13.6 制程能力指标
13.7 系统数据表的使用
13.8 在SQL Server中进行字符串分组串联─FOR XML应用
版权页:插图:当面对一个新的需求时,系统设计(System Design,SD)人员在设计开发系统时,需考虑是使用应用程序还是使用数据库。对于运算选用数据库还是应用程序,是一个仁者见仁智者见智的话题,依开发人员的背景、技术专长不同而有所不同。若选择以SQL命令或编写程序代码方式实现,下面列出几个思考方向:1.系统效率首先,对于我们(IT行业)而言,不管采用何种方式,最终评判、承受所选择结果的是一般使用者;对于开发人员而言,所面对的是系统开发期间(短暂)搭建的测试环境,而一般情况下,测试环境只能模拟真实环境中的一小部分(甚至是极小的一部分)。虽然本书的重点在于SQL技巧,但在此强调,不是所有的工作都应该(考虑)使用SQL命令、甚至使用一组SQL来完成,在此强调要以整体效率为首要考虑因素,善用数据库端、应用程序端的特点。数据库的优势在于查询、汇总计算大量数据等,但在逐笔运算、文字处理等能力上,则一般开发语言(如C#、Java)较为擅长。当面临系统效率不佳时,不要立即怀疑SQL或应用程序编写不当,可将事务依运行特性分割成小段,逐段分析并排除影响因子,探究效率真正瓶颈,以期达到整体效率较佳。当在程序循环中发现反复执行某组SOL时,单单一组SQL执行,效率或许可达到要求,但整体执行时间必须乘上执行次数。一般来说,此举将造成数据库效率极为低下与资源大量耗用,此种情况下请进行Code Review,通常这是彻底解决效率低下的主要途径。
《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手记。
无
SQL Server与Oracle语法对比很详细,对一些函数的用法解析的很透彻。推荐已经使用其中一种数据库而将使用另外一种数据库的朋友们阅读。
SQL案例解析这本书很好,得是有些基础的学者才适合的,讲解了作者的一些问题,数据库开发是所遇到的情况及解决方法,很适合在工作中遇到问题的开发者
我是想从基础开始从头把SQL过一遍,所以买的此书,感觉很不错,二个数据库的方法,对比着讲解,从网上下他的本书源码,学习起来很不错。
的确是心血之作,涵盖了日常SQL中的各种非那么普通的情况。
喜欢这种比较实际的书
这本书图文并茂,讲了很多实例,比较适用。
这本书很好,正是我的需要的。
对比讲解~~终于分清俩不一样的地方了。。。
大概看了一遍,正适合现在的我
给别人买的……应该不错
速度快,还没看,不过应该不错
用来学习数据库的
很实用,不过感觉需要有一个工作经验再来读这本书。
案例经单,丰富。 个人觉得无论是新手还是经验丰富者都可从本书中收益
本书是作者经验之谈,值得借鉴
书的内容很好,但书的外观不是很新
没都看,但感觉挺好,主要是描述的方法和内容都有新意
内容很基础,也比较实用
这个商品不错,印刷很好,送货很快。
书还不错,心仪已久,不过说好的发票没有,怎么获取发票?求解释