第1章 了解SQL 1
1.1 数据库基础 1
1.1.1 什么是数据库 2
1.1.2 表 2
1.1.3 列和数据类型 3
1.1.4 行 4
1.1.5 主键 4
1.2 什么是SQL 5
1.3 动手实践 6
1.4 小结 7
第2章 SQL Server介绍 8
2.1 什么是SQL Server 8
2.1.1 客户机-服务器软件 9
2.1.2 SQL Server版本 10
2.2 SQL Server工具 10
2.2.1 SQL Server 2005 10
2.2.2 SQL Server 2000 12
2.3 小结 12
第3章 使用SQL Server 13
3.1 连接 13
3.2 选择数据库 14
3.3 了解数据库和表 15
3.4 小结 17
第4章 检索数据 18
4.1 SELECT语句 18
4.2 检索单个列 18
4.3 检索多个列 20
4.4 检索所有列 21
4.5 检索不同的行 21
4.6 限制结果 23
4.7 使用完全限定表名 24
4.8 小结 25
第5章 排序检索数据 26
5.1 排序数据 26
5.2 按多个列排序 28
5.3 指定排序方向 28
5.4 小结 31
第6章 过滤数据 32
6.1 使用WHERE子句 32
6.2 WHERE子句操作符 33
6.2.1 检查单个值 33
6.2.2 不匹配检查 35
6.2.3 范围值检查 35
6.2.4 空值检查 36
6.3 小结 37
第7章 数据过滤 38
7.1 组合WHERE子句 38
7.1.1 AND操作符 38
7.1.2 OR操作符 39
7.1.3 计算次序 40
7.2 IN操作符 41
7.3 NOT操作符 42
7.4 小结 43
第8章 用通配符进行过滤 44
8.1 LIKE操作符 44
8.1.1 百分号(%)通配符 45
8.1.2 下划线(_)通配符 46
8.1.3 方括号([])通配符 47
8.2 使用通配符的技巧 48
8.3 小结 48
第9章 创建计算字段 49
9.1 计算字段 49
9.2 拼接字段 50
9.3 执行算术计算 53
9.4 小结 55
第10章 使用数据处理函数 56
10.1 函数 56
10.2 使用函数 56
10.2.1 文本处理函数 57
10.2.2 日期和时间处理函数 59
10.2.3 数值处理函数 63
10.3 小结 64
第11章 汇总数据 65
11.1 聚集函数 65
11.1.1 Avg()函数 66
11.1.2 Count()函数 67
11.1.3 Max()函数 68
11.1.4 Min()函数 68
11.1.5 Sum()函数 69
11.2 聚集不同值 70
11.3 组合聚集函数 71
11.4 小结 72
第12章 分组数据 73
12.1 数据分组 73
12.2 创建分组 73
12.3 过滤分组 75
12.4 分组和排序 77
12.5 SELECT子句顺序 78
12.6 小结 79
第13章 使用子查询 80
13.1 子查询 80
13.2 利用子查询进行过滤 80
13.3 作为计算字段使用子查询 83
13.4 用子查询检查存在性 85
13.5 小结 87
第14章 联结表 88
14.1 联结 88
14.1.1 关系表 88
14.1.2 为什么要使用联结 89
14.2 创建联结 90
14.2.1 WHERE子句的重要性 91
14.2.2 内部联结 94
14.2.3 联结多个表 95
14.3 小结 97
第15章 创建高级联结 98
15.1 使用表别名 98
15.2 使用不同类型的联结 99
15.2.1 自联结 99
15.2.2 自然联结 101
15.2.3 外部联结 101
15.3 使用带聚集函数的联结 103
15.4 使用联结和联结条件 105
15.5 小结 105
第16章 组合查询 106
16.1 组合查询 106
16.2 创建组合查询 106
16.2.1 使用UNION 107
16.2.2 UNION规则 108
16.2.3 包含或取消重复的行 109
16.2.4 对组合查询结果排序 110
16.3 小结 111
第17章 全文本搜索 112
17.1 理解全文本搜索 112
17.2 设置全文本搜索 113
17.2.1 启用全文本搜索支持 113
17.2.2 创建全文本目录 114
17.2.3 创建全文本索引 114
17.2.4 管理目录和索引 115
17.3 进行全文本搜索 116
17.3.1 使用FREETEXT进行搜索 116
17.3.2 用CONTAINS进行搜索 117
17.3.3 排序搜索结果 120
17.4 小结 121
第18章 插入数据 122
18.1 数据插入 122
18.2 插入完整的行 122
18.3 插入多行 126
18.4 插入检索出的数据 126
18.5 小结 129
第19章 更新和删除数据 130
19.1 更新数据 130
19.2 删除数据 132
19.3 更新和删除的指导原则 133
19.4 小结 133
第20章 创建和操纵表 134
20.1 创建表 134
20.1.1 表创建基础 134
20.1.2 使用NULL值 136
20.1.3 主键再介绍 136
20.1.4 使用IDENTITY 137
20.1.5 指定默认值 139
20.2 更新表 140
20.3 删除表 142
20.4 重命名表 142
20.5 小结 142
第21章 使用视图 143
21.1 视图 143
21.1.1 为什么使用视图 144
21.1.2 视图的规则和限制 144
21.2 使用视图 145
21.2.1 利用视图简化复杂的联结 145
21.2.2 用视图重新格式化检索出的数据 146
21.2.3 用视图过滤不想要的数据 147
21.2.4 使用视图与计算字段 148
21.2.5 更新视图 148
21.3 小结 149
第22章 T-SQL程序设计 150
22.1 理解T-SQL程序设计 150
22.2 使用变量 150
22.2.1 声明变量 151
22.2.2 给变量赋值 151
22.2.3 查看变量内容. 152
22.2.4 在T-SQL语句中使用变量 154
22.3 使用条件处理 156
22.4 语句编组 157
22.5 使用循环 159
22.6 小结 160
第23章 使用存储过程 161
23.1 存储过程 161
23.2 为什么要使用存储过程 162
23.3 使用存储过程 163
23.3.1 执行存储过程 163
23.3.2 创建存储过程 163
23.3.3 删除存储过程 164
23.3.4 使用参数 164
23.3.5 建立智能存储过程 167
23.4 小结 169
第24章 使用游标 170
24.1 游标 170
24.2 使用游标 170
24.2.1 创建和删除游标 171
24.2.2 使用游标 171
24.2.3 使用游标数据 172
24.3 小结 175
第25章 使用触发器 176
25.1 理解触发器 176
25.1.1 创建触发器 177
25.1.2 删除触发器 178
25.1.3 启用和禁用触发器 178
25.1.4 确定触发器的任务 178
25.2 使用触发器 179
25.2.1 INSERT触发器 179
25.2.2 DELETE触发器 180
25.2.3 UPDATE触发器 180
25.2.4 关于触发器的进一步介绍 181
25.3 小结 181
第26章 管理事务处理 182
26.1 事务处理 182
26.2 控制事务处理 184
26.2.1 使用ROLLBACK 184
26.2.2 使用COMMIT 185
26.2.3 使用保留点 186
26.2.4 更改自动提交的行为 187
26.3 小结 187
第27章 使用XML 188
27.1 SQL Server的XML支持 188
27.2 检索为XML数据 189
27.3 存储XML数据 192
27.4 XML数据的搜索 194
27.5 小结 195
第28章 全球化和本地化 196
28.1 字符集和校对顺序 196
28.2 使用校对顺序 197
28.3 区分大小写 198
28.4 使用Unicode 200
28.5 小结 201
第29章 安全管理 202
29.1 访问控制 202
29.2 管理用户 203
29.2.1 创建用户账号 204
29.2.2 删除用户账号 205
29.2.3 启用和禁用账号 205
29.2.4 重命名登录 205
29.2.5 更改口令 205
29.3 管理访问权限 205
29.3.1 设置访问权限 206
29.3.2 删除访问权限 206
29.4 小结 207
第30章 改善性能 208
30.1 改善性能 208
30.2 小结 210
附录A SQL Seer和T-SQL入门 211
附录B 样例表 213
附录C T-SQL语句的语法 219
附录D T-SQL数据类型 223
附录E T-SQL保留字 227
索引 232