第1章 SQL基本查询
实例001 在SELECT语句中使用计算列及列别名 2
实例002 定义批处理(BEGIN...END语句) 4
实例003 查询指定行数据 7
实例004 去除结果集中的重复行/列数据(DISTINCT关键字) 9
实例005 计算数据在结果集中的行号(ROW_NUMBER()函数) 11
实例006 随机查询n行数据(NEWID()函数) 13
实例007 查询指定长度的文本类型数据(READTEXT命令) 15
实例008 格式化结果集数据(CONVERT()函数、CAST()函数) 18
实例009 使用iif()函数根据指定条件显示查询结果 21
实例010 利用查询结果集生成表/临时表 22
第2章 SELECT语句:WHERE子句过滤
实例011 运用AND与OR运算符有效的排列查询条件 28
实例012 使用比较运算符查询指定范围内的数据 30
实例013 通过IN运算符给出查询范围 33
实例014 使用BETWEEN/NOT BETWEEN...AND查询范围数据 35
实例015 利用LIKE并引用通配符、转义字符进行模糊查询 38
实例016 查询为空/不为空的数据(IS NULL/IS NOT NULL) 41
实例017 在查询中处理字段值为NULL的数据 44
实例018 使用谓词查询数据(ALL/ANY) 46
实例019 通过EXISTS运算符查询符合条件的数据 48
实例020 使用NOT运算符查询否定条件的数据(与运算符等效) 51
第3章 SELECT语句:ORDER BY子句排序
实例021 多字段的升序/降序排列查询结果集 56
实例022 按照姓氏笔画/音序排序 57
实例023 按升序排列“名列前三”的数据 60
实例024 对重复值的排序 62
实例025 在ORDER BY子句中使用表达式 63
实例026 在ORDER BY子句中使用日期函数 66
实例027 排序包含字母及数字的字段 69
实例028 随机排序指定行数的查询结果集 71
实例029 根据一定条件进行动态排序 72
实例030 在视图中使用ORDER BY子句 75
第4章 数值查询
实例031 在查询时对数值进行取整 78
实例032 对查询到的数值四舍五入 80
实例033 利用三角函数计算数值 83
实例034 根据查询数值求弧度/角度(DEGREES()函数、RADIANS()函数) 91
实例035 求数值的指数/对数 93
实例036 实现数值的进制转换 98
实例037 根据生成的随机数查询记录(RAND()函数) 100
实例038 根据查询数值的符号显示具体文本(SING()函数) 101
实例039 求数值的绝对值(ABS()函数) 103
实例040 判断是否为数值(ISNUMERIC()函数) 105
第5章 字符串查询
实例041 在字符串中去除空格 108
实例042 在字符串中插入空格 110
实例043 实现字符串的大小写转换 113
实例044 转换为字符数据 115
实例045 返回字符在字符串中出现的次数 119
实例046 返回字符串中的子串 122
实例047 删除字符串中的子串 123
实例048 查找并替换字符串 125
实例049 比较两个字符串 127
第1章 SQL基本查询
实例001 在SELECT语句中使用计算列及列别名 2
实例002 定义批处理(BEGIN...END语句) 4
实例003 查询指定行数据 7
实例004 去除结果集中的重复行/列数据(DISTINCT关键字) 9
实例005 计算数据在结果集中的行号(ROW_NUMBER()函数) 11
实例006 随机查询n行数据(NEWID()函数) 13
实例007 查询指定长度的文本类型数据(READTEXT命令) 15
实例008 格式化结果集数据(CONVERT()函数、CAST()函数) 18
实例009 使用iif()函数根据指定条件显示查询结果 21
实例010 利用查询结果集生成表/临时表 22
第2章 SELECT语句:WHERE子句过滤
实例011 运用AND与OR运算符有效的排列查询条件 28
实例012 使用比较运算符查询指定范围内的数据 30
实例013 通过IN运算符给出查询范围 33
实例014 使用BETWEEN/NOT BETWEEN...AND查询范围数据 35
实例015 利用LIKE并引用通配符、转义字符进行模糊查询 38
实例016 查询为空/不为空的数据(IS NULL/IS NOT NULL) 41
实例017 在查询中处理字段值为NULL的数据 44
实例018 使用谓词查询数据(ALL/ANY) 46
实例019 通过EXISTS运算符查询符合条件的数据 48
实例020 使用NOT运算符查询否定条件的数据(与运算符等效) 51
第3章 SELECT语句:ORDER BY子句排序
实例021 多字段的升序/降序排列查询结果集 56
实例022 按照姓氏笔画/音序排序 57
实例023 按升序排列“名列前三”的数据 60
实例024 对重复值的排序 62
实例025 在ORDER BY子句中使用表达式 63
实例026 在ORDER BY子句中使用日期函数 66
实例027 排序包含字母及数字的字段 69
实例028 随机排序指定行数的查询结果集 71
实例029 根据一定条件进行动态排序 72
实例030 在视图中使用ORDER BY子句 75
第4章 数值查询
实例031 在查询时对数值进行取整 78
实例032 对查询到的数值四舍五入 80
实例033 利用三角函数计算数值 83
实例034 根据查询数值求弧度/角度(DEGREES()函数、RADIANS()函数) 91
实例035 求数值的指数/对数 93
实例036 实现数值的进制转换 98
实例037 根据生成的随机数查询记录(RAND()函数) 100
实例038 根据查询数值的符号显示具体文本(SING()函数) 101
实例039 求数值的绝对值(ABS()函数) 103
实例040 判断是否为数值(ISNUMERIC()函数) 105
第5章 字符串查询
实例041 在字符串中去除空格 108
实例042 在字符串中插入空格 110
实例043 实现字符串的大小写转换 113
实例044 转换为字符数据 115
实例045 返回字符在字符串中出现的次数 119
实例046 返回字符串中的子串 122
实例047 删除字符串中的子串 123
实例048 查找并替换字符串 125
实例049 比较两个字符串 127
第6章 日期查询
实例050 查询指定时间段的数据 130
实例051 转换日期格式 132
实例052 计算两个日期的距离(DATEDIFF()函数) 135
实例053 按指定日期的天、月、年分别查询数据 137
实例054 返回当前日期时间及对应星期数 140
实例055 查询指定时间间隔的数据(DATEADD()函数) 142
实例056 综合运用DATEDIFF()与DATEADD()函数 144
实例057 判断是否为日期(ISDATE()函数) 147
第7章 聚合数据检索
实例058 对多列的求和运算 150
实例059 求大于平均值的数据 152
实例060 求最大/最小值 155
实例061 求无重复/不为空的记录数 158
实例062 随机查询求和 161
实例063 统计某个值出现的次数 163
第8章 分组统计数据
实例064 分组汇总数据并排序 168
实例065 计算各组数据的平均值(将NULL转换为0) 169
实例066 使用ALL查询全部分组 172
实例067 使用ROLLUP生成部分分组 174
实例068 使用CUBE生成带有小计和总计的交叉表 176
实例069 使用WHERE子句与HAVING子句指定查询及分组条件 178
实例070 使用OVER子句和聚合函数实现分区聚合数据 181
实例071 使用COMPUTE返回数据明细及汇总结果(多个结果集) 184
实例072 使用COMPUTE BY返回分组信息及对应汇总数据(多个结果集) 186
第9章 子查询
实例073 在SELECT子句中使用子查询 190
实例074 在WHERE子句中通过比较运算符引入子查询 192
实例075 在FROM子句中使用子查询 195
实例076 使用IN运算符引入子查询 197
实例077 使用NOT IN运算符引入子查询 200
实例078 利用ALL谓词引入子查询 202
实例079 利用ANY/SOME谓词引入子查询 205
实例080 使用EXISTS运算符引入子查询 207
实例081 使用NOT EXISTS运算符引入子查询 210
实例082 在HAVING子句使用子查询过滤一组数据 211
实例083 在UPDATE语句中使用子查询更新数据 213
实例084 在INSERT INTO语句中使用子查询添加数据 215
实例085 在DELETE语句中使用子查询删除数据 217
第10章 连接查询
实例086 实现两表的笛卡尔乘积查询(CROSS JOIN) 220
实例087 在WHERE子句中设置连接条件 221
实例088 使用INNER JOIN实现自身连接 223
实例089 使用INNER JOIN实现等值连接 224
实例090 使用INNER JOIN实现不等连接 225
实例091 多表内连接的查询 227
实例092 使用LEFT OUTER JOIN以左表为依据查询匹配数据 228
实例093 使用RIGHT OUTER JOIN以右表为依据查询匹配数据 230
实例094 使用FULL JOIN查询两表匹配的所有数据 232
实例095 多表外连接的查询 233
第11章 组合查询
实例096 使用UNION组合多个结果集 238
实例097 使用UNION ALL组合保留重复数据 239
实例098 排序组合后的查询数据 241
实例099 求两个结果集的交集(INTERSECT运算符) 243
实例100 求两个结果集的差集(EXCEPT运算符) 245
第12章 交叉表、递归与分布式查询
实例101 使用CASE语句指定显示的文本 248
实例102 使用CASE语句更新数据 249
实例103 通过CASE语句生成静态交叉表 251
实例104 实现结果集中记录的行列转换 253
实例105 使用PIVOT运算符实现交叉表 256
实例106 使用UNPIVOT运算符反转交叉表 259
实例107 CTE递归查询 262
实例108 调用系统存储过程进行分布式查询 265
实例109 使用函数实现分布式查询 267
实例110 运用分布式事务 269
第13章 插入、更新和删除数据
实例111 使用INSERT INTO语句插入数据 272
实例112 使用UNION ALL运算符批量插入数据 275
实例113 使用INSERT SELECT语句批量插入数据 277
实例114 实现数据库与Excel数据的导入导出 279
实例115 实现SQL Server与Access数据的导入导出 283
实例116 使用UPDATE语句更新数据 286
实例117 使用DELETE语句删除数据 289
实例118 删除表中相同的行数据(游标) 292
实例119 删除完全重复的行(临时表) 299
第14章 XML数据检索
实例120 以XML形式显示检索数据(FOR XML RAW) 304
实例121 检索数据以生成XML文件(FOR XML AUTO) 310
实例122 将XML数据插入到数据表中 314
实例123 利用XML索引检索数据 317
实例124 查找XML节点(QUERY方法) 321
实例125 提取XML节点元素值(VALUE方法) 324
实例126 插入XML元素节点 327
实例127 删除XML元素节点 331
实例128 更新XML元素节点的值 334
实例129 将XML节点转变为对应字段(NODES方法) 337
第15章 优化操作
实例130 创建索引加快数据引用(非聚集、惟一、聚集索引) 342
实例131 使用约束维护数据完整性(主键、惟一、检查约束) 349
实例132 使用视图格式化检索数据 354
实例133 执行带参数的存储过程以动态检索数据 359
实例134 定义触发器以自动执行SQL语句 364
实例135 异常错误处理 369
实例136 应用事务维护数据的一致性 371
实例137 在事务中的表级锁定 374
实例138 实现事务并发控制 377
第16章 管理和维护数据库
实例139 创建/修改数据库 384
实例140 创建/修改数据表 388
实例141 备份数据库 394
实例142 恢复数据库 397
实例143 附加/分离数据库 400
实例144 查看数据库对象 402
实例145 加密数据库中的数据 405
实例146 防止SQL注入攻击 406
第17章 SQL编程与应用
实例147 在C语言中使用SQL通信区 410
实例148 嵌入式SQL中的主变量 412
实例149 嵌入式SQL中的游标操作 415
实例150 在高级语言中嵌入SQL语句 417
实例151 在数据库管理系统中嵌入SQL语句 420
实例152 预编译嵌入式SQL语句 422
实例153 执行嵌入式SQL语句 424
实例154 动态执行SQL语句 424
附录