SQLServer2005范例代码查询辞典
SQL Server 2005范例代码查询辞典丛书名: 图灵程序设计丛书
作者: (美)萨克著,朱晔,金迎春译
出 版 社: 人民邮电出版社
出版时间: 2008-6-1
字数: 1119000
版次: 1
页数: 632
开本: 大16开
印次: 1
纸张: 胶版纸
I S B N : 9787115179586
包装: 平装
所属分类: 图书 >> 计算机/网络 >> 数据库 >> SQL
定价:¥79.00
编辑推荐SQL Server程序员和DBA不可或缺的权威参考手册,查询方便,迅速解决工作中的难题,大量来自微软件内部的技巧。
“如果你正在寻找一本简明好用的SQLServer2005和T.SQL参考指南,我极力推荐此书。”
——DaVid Hayden。Microsoft MVP,CodeBetter.com
“本书编排格式非常便于查阅,实例直截了当,应该成为每个程序员的桌面参考手册。搞不定手上的任务时,你会立即发现它的价值。”
——Adam machanic,Microsoft MVP,《SQL Server2005编程艺术》作者
在工作中遇到难题了?需要迅速查阅某个SQL Serverf壬务的解决方案或T-SQL命令?在SQL Server联机丛书上没有找到所需要的内容?想了解T_SQL相关的瓤特性?本书将是你理想的选择。
T_SQL一直以来就是SQL Serverfli:有编程的基础,DBA和数据库应用程序开发人员的日常工作都离不开T-SQL。
本书是享有盛誉的SQL Server_T_具书。和传统的T-SQL图书不同,本书从实用性出发,以独特的“技巧”形式来介绍知识点,每个技巧中都包含了有代表性的示例和精炼的说明。书中涵盖了基本的T-SQL数据操作、存储过程、触发器和UDF的使用,以及针对数据库安全和维护的高级T-SQL技术等多方面的内容。此外,通过完善的索引,你无需按照顺序阅读和学习,就可以迅速找到需要的信息,高效地完成工作。
内容简介T-SQL 一直以来都是SQL Server所有编程的基础。和传统的T-SQL书籍不同,本书以独特的“技巧”形式来介绍知识点,涵盖了数据处理(增删改、视图、索引、存储过程、触发器等)、数据应用(Web服务、CLR集成、分布式查询等)和数据库配置(主体、安全、数据库镜像和快照、备份等)3个方面的内容。其中,每一个技巧中都包含了有代表性的示例和精炼的解析。
本书实用、高效、技巧性强,适用于SQL Server专业技术人员,也可供初学者学习参考。
图书目录第1章SELECT
1.1基本的SELECT语句
1.1.1从所有行中选择指定列
1.1.2从所有行中选择所有列
1.2使用基本WHERE子句的SELECT查询
1.2.1使用WHERE子句指定结果集中返回的行
1.2.2组合搜索条件
1.2.3否定搜索条件
1.2.4保持WHERE子句无歧义
1.3使用运算符和表达式
1.3.1在数据范围搜索中使用BETWEEN
1.3.2使用比较运算符
1.3.3检测NULL值
1.3.4返回基于一组值的行
1.3.5LIKE和通配符的结合使用
1.4对结果排序
1.4.1使用ORDER BY子句
1.4.2在排序的结果中使用TOP关键字
1.5数据分组
1.5.1使用GROUP BY子句
1.5.2使用GROUP BY ALL
1.5.3使用HAVING选择性地查询分组的数据
1.6SELECT子句技术
1.6.1使用DISTINCT消除重复值
1.6.2在聚合函数中使用DISTINCT
1.6.3使用列别名
1.6.4使用SELECT创建脚本
1.6.5执行字符串拼接
1.6.6使用SELECT创建逗号分隔的列表
1.6.7使用INTO子句
1.7子查询
1.8从多个数据源查询
1.8.1使用内联结
1.8.2使用外联结
1.8.3使用交叉联结
1.8.4实现自联结
1.8.5使用衍生表
1.8.6使用UNION组合结果集
1.9使用APPLY来为每行调用表值函数
1.9.1使用CROSS APPLY
1.9.2使用OUTER APPLY
1.10数据源高级技术
1.10.1使用TABLESAMPLE来返回随机行
1.10.2使用PIVOT来把单列值转化为多列和聚合数据
1.10.3使用UNPIVOT规范化数据
1.10.4使用EXCEPT和INTERSECT返回不重复的或匹配的行
1.11汇总数据
1.11.1使用WITH CUBE汇总数据
1.11.2使用GROUPING和WITH CUBE
1.11.3使用WITH ROLLUP来汇总数据
1.12提示
1.12.1使用联结提示
1.12.2使用查询提示
1.12.3使用表提示
1.13公共表表达式
1.13.1使用非递归的公共表表达式
1.13.2使用递归的公共表表达式
第2章INSERT、UPDATE和DELETE
2.1INSERT
2.1.1向表中插入一行
2.1.2使用默认值插入行
2.1.3显式向一个IDENTITY列插入值
2.1.4在表中插入拥有uniqueidentifier列的行
2.1.5使用INSERT...SELECT语句插入行
2.1.6调用存储过程插入数据
2.2UPDATE
2.2.1更新一行
2.2.2根据FROM和WHERE子句更新行
2.2.3更新大值数据类型的列
2.2.4使用OPENROWSET和BULK插入或更新图片文件
2.3DELETE
2.3.1删除行
2.3.2截断表
2.4OUTPUT子句
2.5使用TOP分块修改数据
第3章事务、锁定、阻塞和死锁
3.1事务控制
3.1.1使用显式事务
3.1.2使用DBCC OPENTRAN显示最早的活动事务
3.2锁定
3.3事务、锁定和并发
3.4阻塞
3.4.1找到并解决阻塞进程
3.4.2使用SET LOCK TIMEOUT
3.5死锁
3.5.1使用跟踪标志位找出死锁
3.5.2设置死锁优先级
第4章表
第5章索引
5.1索引预览
5.1.1创建表索引
5.1.2在非键列上强制唯一性
5.1.3创建组合索引
5.1.4定义索引列排序方向
5.1.5查看索引元数据
5.1.6禁用索引
5.1.7删除索引
5.1.8使用DROP_EXISTING改变既有索引
5.2控制索引创建的性能和并发性
5.2.1在Tempdb中创建临时索引
5.2.2控制索引创建的并发执行计划
5.2.3在索引创建过程中允许用户表访问
5.3索引选项
5.3.1使用索引INCLUDE
5.3.2使用PAD_INDEX和FILLFACTOR
5.3.3禁用页和/或行索引锁定
5.4管理超大型索引
5.4.1在文件组上创建索引
5.4.2实现索引分区
第6章全文搜索
第7章视图
7.1普通视图
7.1.1创建基本视图
7.1.2查询视图定义
7.1.3数据库视图报表
7.1.4刷新视图定义
7.1.5修改视图
7.1.6删除视图
7.1.7使用视图修改数据
7.2视图加密
7.3索引视图
7.3.1创建索引视图
7.3.2强制优化器为索引视图使用索引
7.4分区视图
第8章SQL Server函数
第9章条件处理、流控制和游标
第10章存储过程
第11章用户定义函数和类型
第12章触发器
第13章CLR集成
第14章XML
第15章Web服务
第16章错误处理
第17章主体
第18章安全对象和权限
第19章加密
第20章Service Broker
第21章配置和查看SQL Server的选项
第22章创建和配置数据库
第23章数据库完整性和优化
第24章维护数据库对象和对象依赖
第25章数据库镜像
第26章数据库快照
第27章链接服务器和分布式查询
第28章性能调优
第29章备份与恢复
索引
书摘插图第1章SELECT
在这一章中,包含了使用SELECT语句从SQL Server数据库中返回数据的一些技巧。你会注意到,在每一章的开始都会先介绍最基础的概念。这些内容是为那些SQL Server 2005 T-SQL查询语言的初学者准备的。除基础内容之外,还会介绍一些在日常的开发和管理工作中用得到的技巧。这些技巧还会帮助你学习SQL Server 2005中引入的新功能。书中的大部分示例使用了AdventureWorks数据库,它是SQL Server 2005的可选安装内容。
提示AdventureWorks数据库是SQL Server 2005提供的一个示例数据库。它与早期版本的SQL Server中的Northwind和Pubs数据库相似。欲知如何安装此数据库,请参阅SQL Server 2005联机帮助主题“运行安装程序安装AdventureWorks@例数据库和示例”。
你几乎可以按任意顺序阅读书中的这些技巧。可以直接跳到感兴趣的主题,或是按顺序读。如果看到有用的内容(一段代码或者示例),可以按照自己的应用去修改或者直接整合到你的函数或存储过程中去。这样就体现了本书的价值。
1.1基本的SELECT语句
SELECT命令是T-SQL语言的基础,可以使用它从SQL Server数据库中(更准确地说是从SQL Server数据库中的数据对象中)获取数据。尽管SELECT语句的完整语法是夸张的,但基本的语法可以用如下精炼的形式表示:
SE LECT select—list
FROM table—list
在前面代码中列出的select ll st参数是你希望从查询的结果中返回的字段列表。table]1 st参数是提供数据的实际的表或视图。
后面的几个技巧会阐述如何使用基本的SELECT语句。
1.1.1从所有行中选择指定列
这个示例演示了一个非常简单的、对AdventureWorks数据库的SELECT查询,从一些行中返回4列。在查询中我们使用了显式列名:
USE AdventureWorks
……