标题：SQL宝典
内容提要
现在拿到的这本书，是有关SQL的可用的最新最完整的参考。它包含了经核准的最新的SQL规范SQL99，以它的标准格式，可以把本书中的代码和技术应用到来自任何主要开发商的SQL数据库中，这些数据库包括Microsoft SQL Server，Oracle以及IBM DB2。因为作者强调的是标准的SQL，因此，可以执行不同的数据库应用程序，并可以确信这些代码将在任何主要的开发商提供的产品中都能工作得很好。无论是一位准备尝试数据库编程的数据库管理员，还是一位有经验的希望查找有关SQL99内容的数据库程序员，都将发现《SQL宝典》是完整的解决方案。 本书的主要内容包括：SQL的基本概念和原理、创建和修改数据库对象、数据操作和事务控制、检索和转换数据、利用系统目录来实现安全、超越SQL：过程化程序设计和数据库访问机制等内容。附录中介绍了本书附带光盘的内容及大量的对读者极有价值的参考资料。 本书适用于广泛使用SQL的读者，从初级到高级的读者都有参考价值。
编辑推荐
本书的主要内容包括：SQL的基本概念和原理、创造和修改数据库对象、数据操作和事务控制、检索和转换数据、利用系统目录来实现安全、超越SQL：过程化程序设计和数据库访问机制等内容。附录中介绍了本书附带光盘的内容及大量的对读者极有价值的参考资料。 
本书适用于广泛使用SQL的读者，从初级到高级的读者都有参考价值。
目录
目 录
前言 1
第1部分SQL的基本概念和原理 5
第1章SQL和关系型数据库管理系统 7
1.1理想的数据库特征 7
1.1.1充足的容量 7
1.1.2足够的安全 8
1.1.3多用户环境 8
1.1.4效率 8
1.1.5可伸缩性 8
1.1.6用户友好 8
1.2选择数据库软件 9
1.2.1市场份额 9
1.2.2所有权的总成本 9
1.2.3支持和持续 10
1.3一切的细节：DBMS实现 10
1.4现实中的数据库例子 11
1.4.1订购管理系统数据库 11
1.4.2健康护理提供者数据库 12
1.4.3科学数据库 12
1.4.4非盈利组织数据库 13
1.5旧有数据库 13
1.5.1平面文件数据库 13
1.5.2层次数据库 14
1.5.3网状数据库 15
1.6关系型数据库 16
1.6.1表 16
1.6.2关系 17
1.6.3主键 18
1.6.4外键 18
1.6.5RDBMS的发展 19
1.7对象数据库和对象关系型数据库模型 19
1.8SQL和SQL标准简史 20
1.8.1卑微的开始：RDBMS和SQL的演变 20
1.8.2SQL标准简史 22
1.9小结 24
第2章SQL基本概念和原理 25
2.1SQL标准回顾 25
2.2SQL初探 28
2.2.1数据库范例 28
2.2.2获取和导出数据 29
2.2.3从不同的角度查看数据 31
2.2.4聚合 32
2.2.5数据安全 33
2.2.6从客户端应用程序访问数据 34
2.2.7新的发展 34
2.3平台无关性 35
2.4小结 37
第3章SQL数据类型 39
3.1字符串与二进制串 40
3.1.1字符串 40
3.1.2二进制串 46
3.2数字 48
3.2.1精确的数字 48
3.2.2近似的数字 51
3.3日期和时间数据类型 52
3.3.1复杂数据类型入门 52
3.3.2日期和时间实现 53
3.4对象和用户定义的数据类型 58
3.4.1SQL99 59
3.4.2Oracle9i 59
3.4.3DB2UDB8.1 61
3.5其他数据类型 62
3.5.1BOOLEAN 62
3.5.2ROWID 63
3.5.3UROWID 63
3.5.4BFILE 63
3.5.5DATALINK 63
3.5.6BIT 63
3.5.7TIMESTAMP 63
3.6NULL 64
3.7小结 64
第2部分创建和修改数据库对象 65
第4章创建RDBMS对象 67
4.1表 67
4.1.1CREATETABLE语句 68
4.2索引 88
4.2.1CREATEINDEX语句 90
4.3视图 93
4.3.1CREATEVIEW语句 93
4.3.2创建复杂视图 98
4.4别名和同义词 100
4.4.1SQL99 102
4.4.2Oracle9i的CREATESYNONYM语句 102
4.4.3DB2UDB8.1的CREATEALIAS/SYNONYM语句 103
4.4.4MSSQLServer2000 103
4.5模式 103
4.5.1CREATESCHEMA语句 103
4.6其他SQL99和实现专有的对象 107
4.6.1SQL99中的域 107
4.6.2表空间和文件组 107
4.6.3序列 109
4.6.4物化视图（Oracle9i） 114
4.6.5数据库链接（Oracle9i） 115
4.7CREATE语句交叉参考 116
4.8小结 118
第5章修改和删除RDBMS对象 119
5.1表 119
5.1.1ALTERTABLE语句 119
5.1.2DROPTABLE语句 127
5.2索引 129
5.2.1Oracle9i中的ALTERINDEX语句 129
5.2.2DROPINDEX语句 130
5.3视图 131
5.3.1ALTERVIEW语句 131
5.3.2DROPVIEW语句　 132
5.4别名和同义词 133
5.5模式 134
5.6其他实现专有的对象 134
5.6.1表空间 134
5.6.2序列 136
5.7ALTER和DROP语句交叉参考 137
5.8小结 139
第3部分数据操作和事务控制 141
第6章数据操作语言 143
6.1INSERT：用数据来填充表 143
6.1.1一般的INSERT语句子句 144
6.1.2与开发商有关的特殊的INSERT语句 151
6.2UPDATE：更新表的数据 155
6.2.1一般的UPDATE语句子句 156
6.2.2开发商特有的UPDATE语句细节 159
6.3DELETE：从表中删除数据 160
6.3.1一般的DELETE语句子句 161
6.3.2开发商特有的DELETE语句子句 163
6.4其他用于操作数据的SQL语句 163
6.4.1MERGE语句 163
6.4.2TRUNCATE语句 164
6.5小结 165
第7章会话.事务和锁定 167
7.1会话 167
7.2事务 174
7.2.1什么是一个事务 174
7.2.2事务的COMMIT和ROLLBACK 175
7.2.3事务隔离级别 180
7.3理解锁定 182
7.3.1锁定模式 183
7.3.2处理死锁 185
7.4小结 186
第4部分检索和转换数据 187
第8章理解SELECT语句 189
8.1单一表SELECT语句语法 189
8.2SELECT子句：到底要选择什么 190
8.2.1单一列选择 190
8.2.2多列SELECT 190
8.2.3使用字面值.函数和计算列 193
8.2.4在一个SELECT子句中使用子查询 197
8.3FROM子句 198
8.3.1从表和视图中选择 198
8.3.2在一个FROM子句中使用别名 198
8.3.3在一个FROM子句中使用子查询 199
8.4WHERE子句：设置水平限制 200
8.4.1使用比较运算符 200
8.4.2复合运算符：使用AND和OR 201
8.4.3使用BETWEEN运算符 202
8.4.4使用IN运算符：设置成员资格测试 203
8.4.5使用ISNULL运算符：针对NULL的专门测试 204
8.4.6在一个WHERE子句中使用子查询 205
8.5GROUPBY和HAVING子句：汇总结果 208
8.6ORDERBY子句：排序查询的输出 211
8.7联合多个查询的结果 214
8.7.1UNION 214
8.7.2EXCEPT 218
8.8小结 220
第9章多表查询 221
9.1内连接 221
9.1.1用于内连接的两个语法 221
9.1.2同等连接 223
9.1.3非同等
译者序
这是一本关于SQL的全方位的参考书。换句话说，这本书没有将目光局限在任何一个具体的数据库管理系统上。本书试图在最大限度上让你理解什么是标准的SQL以及标准的SQL在开发商们的不同实现上是如何贯彻的。本书的讲解是以目前业界最重要也最流行的三个关系型数据库管理系统（Oracle 9i，IBM DB2，Microsoft SQL Server 2000）为基础的。 正如任何一本书都有其特定的读者群一样，这本书也不例外。从这本书的内容和叙述方式上看，本书是为那些希望全面了解SQL的能力，希望以某种方式将Oracle，IBM和Microsoft三家公司的数据库产品贯通起来的读者而写的。本书的定位始终是一个“标准”，对所有三巨头数..
前言
这本书是关于结构化查询语言的。它以名称SQL为人们所熟知，它是关系型数据库的标准语言以及数据库世界的国际通用语言。它已经存在了超过20年之久，而且没有丝毫要衰退的迹象。这主要应归功于大量的修订：专利发明频繁地被数据库开发商们引入，这些专利或者被采纳为标准，或者随着数据库界的发展被废弃。最新的SQL标准在1999年被引入，尽管ANSI/ISO SQL标准的确存在，但这些标准中有许多只是在理论上维持着一致，在从一个实现到另一个实现间还有着很大的不同。因此，要想找到一本“囊括一切”的SQL书是非常困难的。一个作者可能偏爱某一特别的开发商，因此，一本相当不错的Oracle或MS SQL Server书，但它..