第3篇 數(shù)據(jù)庫及LINQ開發(fā)篇
第6章 SQL查詢相關技術 200
6.1 SELECT子句 201
實例128 查詢特定列數(shù)據(jù) 201
實例129 使用列別名 202
實例130 在列上加入計算 204
實例131 使用函數(shù)設置條件 205
6.2 查詢常量 206
實例132 查詢數(shù)字 206
實例133 查詢字符串 207
實例134 查詢日期數(shù)據(jù) 208
實例135 查詢邏輯型數(shù)據(jù) 210
實例136 查詢空(‘’或NULL)數(shù)據(jù) 211
6.3 查詢變量 212
實例137 利用變量查詢字符串數(shù)據(jù) 212
實例138 利用變量查詢數(shù)值型數(shù)據(jù) 214
實例139 利用變量查詢日期型數(shù)據(jù) 215
6.4 模糊查詢 217
實例140 利用“_”通配符進行查詢 217
實例141 利用“%”通配符進行查詢 218
實例142 利用“[]”通配符進行查詢 219
實例143 利用“[^]”通配符進行查詢 221
實例144 復雜的模糊查詢 222
6.5 TOP和PERCENT限制查詢結果 224
實例145 查詢前10名數(shù)據(jù) 224
實例146 取出數(shù)據(jù)統(tǒng)計結果的后10名數(shù)據(jù) 225
實例147 查詢第10到第20名的數(shù)據(jù) 226
實例148 查詢銷售量占前50%的圖書信息 228
實例149 查詢庫存數(shù)量占后20%的圖書信息 229
6.6 數(shù)值查詢 231
實例150 判斷是否為數(shù)值 231
實例151 在查詢時對數(shù)值進行取整 232
實例152 將查詢到的數(shù)值四舍五入 233
實例153 使用三角函數(shù)計算數(shù)值 234
實例154 求數(shù)值的絕對值 235
實例155 根據(jù)生成的隨機數(shù)查詢記錄 236
實例156 根據(jù)查詢數(shù)值的符號顯示具體文本 238
6.7 字符串查詢 239
實例157 實現(xiàn)字符串的大小寫轉換 239
實例158 返回字符在字符串中出現(xiàn)的次數(shù) 240
實例159 返回字符串中的子串 241
實例160 刪除字符串中的子串 243
實例161 查找并替換字符串 244
實例162 比較兩個字符串 246
6.8 周期、日期查詢 248
實例163 判斷是否為日期 248
實例164 查詢指定日期的數(shù)據(jù) 249
實例165 查詢指定時間段的數(shù)據(jù) 250
實例166 按年、月或日查詢數(shù)據(jù) 251
實例167 返回當前日期時間及其對應的星期 253
實例168 查詢指定時間間隔的數(shù)據(jù) 254
6.9 比較、邏輯、重復查詢 255
實例169 利用運算符查詢指定條件的數(shù)據(jù) 255
實例170 NOT與謂詞進行組合條件的查詢 257
實例171 查詢時不顯示重復記錄 258
實例172 列出數(shù)據(jù)中的重復記錄和記錄條數(shù) 259
6.10 在查詢中使用OR和AND運算符 260
實例173 利用OR運算符進行查詢 260
實例174 利用AND運算符進行查詢 261
實例175 同時利用OR、AND運算符進行查詢 262
6.11 排序、分組統(tǒng)計 263
實例176 數(shù)據(jù)分組統(tǒng)計(單列) 263
實例177 在分組查詢中使用ALL關鍵字 265
實例178 在分組查詢中使用CUBE運算符 266
實例179 在分組查詢中使用ROLLUP 267
實例180 對數(shù)據(jù)進行降序查詢 268
實例181 對數(shù)據(jù)進行多條件排序 269
實例182 對統(tǒng)計結果進行排序 270
實例183 按姓氏筆畫排序 272
實例184 按姓氏拼音排序 273
實例185 按倉庫分組統(tǒng)計圖書庫存(多列) 274
實例186 多表分組統(tǒng)計 275
實例187 使用COMPUTE 276
實例188 使用COMPUTE BY 278
6.12 聚合函數(shù) 279
實例189 利用聚合函數(shù)SUM對銷售額進行匯總 279
實例190 利用聚合函數(shù)AVG求某班學生的
平均年齡 280
實例191 利用聚合函數(shù)MIN求銷售額、利潤
最少的商品 281
實例192 利用聚合函數(shù)MAX求月銷售額
完成最多的員工 283
實例193 利用聚合函數(shù)COUNT求日銷售額
大于某值的商品數(shù) 284
實例194 利用聚合函數(shù)FIRST或LAST求數(shù)據(jù)表
中第一條或最后一條記錄 286
實例195 利用聚合函數(shù)顯示數(shù)據(jù)庫中重復記錄的
數(shù)量 287
實例196 查詢大于平均值的所有數(shù)據(jù) 288
實例197 獲取無重復或者不為空的記錄數(shù) 290
實例198 隨機查詢求和 291
實例199 統(tǒng)計某個值出現(xiàn)的次數(shù) 292
6.13 多表查詢(連接查詢) 293
實例200 利用FROM子句進行多表查詢 293
實例201 使用表別名 295
實例202 合并多個結果集 296
實例203 笛卡兒乘積查詢 297
6.14 嵌套查詢 298
實例204 簡單嵌套查詢 298
實例205 復雜嵌套查詢 299
實例206 嵌套查詢在查詢統(tǒng)計中的應用 301
6.15 子查詢 302
實例207 用子查詢做派生的表 302
實例208 用子查詢作表達式 304
實例209 使用ALL謂詞引入子查詢 305
實例210 使用ANY/SOME謂詞引入子查詢 307
實例211 使用EXISTS運算符引入子查詢 308
實例212 在HAVING子句中使用子查詢
過濾數(shù)據(jù) 310
實例213 在UPDATE語句中應用子查詢 311
實例214 使用子查詢刪除數(shù)據(jù) 312
6.16 組合語句 314
實例215 使用組合查詢 314
實例216 多表組合查詢 316
實例217 對組合查詢后的結果進行排序 317
實例218 獲取組合查詢中兩個結果集的交集 319
實例219 獲取組合查詢中兩個結果集的差集 320
6.17 內連接查詢 321
實例220 簡單內連接查詢 321
實例221 復雜內連接查詢 322
實例222 使用INNER JOIN實現(xiàn)自身連接 324
實例223 使用INNER JOIN實現(xiàn)等值連接 325
實例224 使用INNER JOIN實現(xiàn)不等連接 326
實例225 使用內連接選擇一個表與另一個表中
行相關的所有行 327
6.18 外連接查詢 329
實例226 LEFT OUTER JOIN查詢 329
實例227 RIGHT OUTER JOIN查詢 330
實例228 使用外連接進行多表聯(lián)合查詢 331
6.19 利用IN進行查詢 333
實例229 用IN查詢表中的記錄信息 333
實例230 使用IN引入子查詢限定查詢范圍 334
實例231 使用NOT IN運算符引入子查詢 335
6.20 交叉表查詢 336
實例232 利用Transform分析數(shù)據(jù)(Access) 336
實例233 利用Transform動態(tài)分析數(shù)據(jù)
(Access) 338
實例234 靜態(tài)交叉表(SQL Server 2005) 340
實例235 動態(tài)交叉表(SQL Server 2005) 342
6.21 函數(shù)查詢 343
實例236 在查詢語句中使用格式化函數(shù) 343
實例237 在查詢語句中使用字符串函數(shù) 344
實例238 在查詢中使用日期函數(shù) 346
6.22 索引查詢 347
實例239 使用UNIQUE關鍵字創(chuàng)建唯一索引 347
實例240 使用CLUSTERED關鍵字創(chuàng)建聚簇
索引 348
實例241 使用索引視圖查詢數(shù)據(jù) 350
實例242 刪除索引 352
6.23 應用存儲過程 353
實例243 使用存儲過程查詢多表中的數(shù)據(jù) 353
實例244 使用存儲過程向表中添加數(shù)據(jù) 355
實例245 使用存儲過程刪除表中的數(shù)據(jù) 358
6.24 HAVING語句應用 361
實例246 利用HAVING子句過濾分組數(shù)據(jù) 361
實例247 HAVING子句應用在多表查詢中 362
第7章 SQL高級應用 364
7.1 SQL中的流程控制語句 365
實例248 使用BEGIN…END語句控制批處理 365
實例249 使用IF語句指定執(zhí)行條件 366
實例250 使用IF EXISTS語句檢測數(shù)據(jù)是否
存在 367
實例251 使用WHILE語句執(zhí)行循環(huán)語句塊 368
實例252 使用CASE語句執(zhí)行分支判斷 369
實例253 使用RETURN語句執(zhí)行返回 371
實例254 使用WAITOF語句延期執(zhí)行語句 372
實例255 使用GOTO語句實現(xiàn)跳轉 373
實例256 使用TRY CATCH語句進行異常處理 375
實例257 使用PRINT語句進行打印 376
實例258 使用RAISERROR語句返回錯誤信息 377
實例259 使用SET語句進行選項設置 378
7.2 視圖的應用 379
實例260 在C#中應用視圖 379
實例261 獲取數(shù)據(jù)庫中的全部用戶視圖 380
實例262 通過視圖修改數(shù)據(jù) 380
實例263 通過視圖過濾數(shù)據(jù) 382
實例264 使用視圖格式化檢索到的數(shù)據(jù) 383
實例265 對視圖定義文本進行加密 384
實例266 使用視圖生成計算列 385
7.3 存儲過程的應用 387
實例267 C#中應用存儲過程 387
實例268 應用存儲過程添加數(shù)據(jù) 388
實例269 應用存儲過程修改數(shù)據(jù) 390
實例270 應用存儲過程刪除數(shù)據(jù) 391
實例271 獲取數(shù)據(jù)庫中全部的存儲過程 392
實例272 在存儲過程中使用return定義返回值 394
實例273 執(zhí)行帶回傳參數(shù)的存儲過程 395
實例274 重命名存儲過程 396
實例275 在存儲過程中使用事務 397
實例276 加密存儲過程 399
實例277 查看存儲過程的相關信息 400
7.4 觸發(fā)器的應用 401
實例278 獲取數(shù)據(jù)庫中的觸發(fā)器 401
實例279 使用Insert觸發(fā)器向薪水表中添加
薪水信息 402
實例280 Update觸發(fā)器在系統(tǒng)日志中的應用 404
實例281 使用Delete觸發(fā)器刪除員工薪水信息 405
實例282 觸發(fā)器的嵌套使用 406
使用283 使用遞歸觸發(fā)器實現(xiàn)每次刪除一條
記錄功能 408
實例284 使用觸發(fā)器刪除相關聯(lián)的兩表間的數(shù)據(jù) 409
7.5 事務的使用 411
實例285 使用事務同時提交多個數(shù)據(jù)表 411
實例286 使用隱式事務實現(xiàn)多表提交數(shù)據(jù) 413
實例287 使用事務批量刪除生產單信息 414
實例288 在事務中的表級鎖定 417
實例289 實現(xiàn)事務的并發(fā)控制 420
實例290 創(chuàng)建分布式事務 422
7.6 游標的應用 423
實例291 創(chuàng)建一個標準、只讀和更新游標 423
使用292 利用sp_cursor_list查看游標屬性 425
實例293 利用sp_describe_cursor查看游標
全局特性 426
實例294 利用游標在商品銷售表中返回指定行
數(shù)據(jù) 428
實例295 使用ORDER BY子句改變游標中
行的順序 429
實例296 使用游標定位刪除指定員工信息 431
實例297 使用參數(shù)化游標更改員工部門信息 432
實例298 使用嵌套游標查詢兩個員工表間的
員工信息 433
7.7 SQL Server與XML互操作 435
實例299 使用FOR XML RAW參數(shù)讀取所有
圖書信息 435
實例300 將存儲在XML中的圖書信息插入
數(shù)據(jù)表中 436
實例301 將圖書銷售表中的字段作為節(jié)點元素
輸出 437
實例302 查詢存儲圖書信息的XML節(jié)點 439
實例303 獲取XML節(jié)點或者元素值 440
實例304 編輯存儲圖書信息的XML節(jié)點 441
實例305 將XML節(jié)點轉換為相應的數(shù)據(jù)表
字段 444
第8章 ADO.NET開發(fā)技術 446
8.1 連接Access數(shù)據(jù)庫 447
實例306 連接Access數(shù)據(jù)庫 447
實例307 連接加密的Access數(shù)據(jù)庫 448
實例308 自動識別Access 2000數(shù)據(jù)庫路徑 449
實例309 連接網絡上共享的Access 2000數(shù)據(jù)庫 450
實例310 將Access數(shù)據(jù)庫導入Excel文件中 452
8.2 連接SQL Server數(shù)據(jù)庫 453
實例311 使用ODBC DSN連接SQL Server
數(shù)據(jù)庫 453
實例312 使用ODBC非DSN連接SQL Server
數(shù)據(jù)庫 455
實例313 使用OLE DB連接SQL Server數(shù)據(jù)庫 457
實例314 建立SQL Server數(shù)據(jù)庫連接 458
8.3 連接其他數(shù)據(jù)庫 459
實例315 連接Excel 459
實例316 連接文本文件 460
8.4 數(shù)據(jù)庫結構的讀取與修改 462
實例317 讀取SQL Server數(shù)據(jù)庫結構 462
實例318 修改SQL Server數(shù)據(jù)庫結構 464
8.5 數(shù)據(jù)錄入 466
實例319 利用數(shù)據(jù)綁定控件錄入數(shù)據(jù) 466
實例320 使用ADO.NET對象錄入數(shù)據(jù) 467
實例321 利用SQL語句錄入數(shù)據(jù) 469
實例322 利用存儲過程錄入數(shù)據(jù) 470
實例323 向SQL Server數(shù)據(jù)庫中批量寫入
海量數(shù)據(jù) 472
8.6 圖片存取技術 473
實例324 使用存取文件名的方法存取圖片 473
實例325 使用二進制存取用戶頭像 475
8.7 數(shù)據(jù)修改 476
實例326 利用數(shù)據(jù)綁定控件修改數(shù)據(jù) 476
實例327 利用數(shù)據(jù)對象修改數(shù)據(jù) 478
實例328 利用SQL語句修改數(shù)據(jù) 479
實例329 利用存儲過程修改數(shù)據(jù) 480
實例330 使用斷開式連接批量更新數(shù)據(jù)庫中
數(shù)據(jù) 482
8.8 數(shù)據(jù)保存前判斷 483
實例331 判斷是否重復輸入數(shù)據(jù) 483
實例332 判斷輸入數(shù)據(jù)是否符合要求 485
8.9 數(shù)據(jù)刪除 487
實例333 刪除表格中指定的記錄 487
實例334 利用SQL語句刪除數(shù)據(jù) 488
實例335 利用SQL語句清空數(shù)據(jù)表 489
8.10 數(shù)據(jù)記錄 490
實例336 分頁顯示信息 490
實例337 移動記錄 491
實例338 綜合查詢職工詳細信息 492
8.11 數(shù)據(jù)維護 495
實例339 在C#中創(chuàng)建數(shù)據(jù)庫 495
實例340 在C#中刪除數(shù)據(jù)庫 497
實例341 在C#中創(chuàng)建數(shù)據(jù)表 498
實例342 在C#中刪除數(shù)據(jù)表 499
實例343 在C#中分離SQL Server數(shù)據(jù)庫 500
實例344 在C#中附加SQL Server數(shù)據(jù)庫 502
實例345 在C#中附加單文件SQL Server
數(shù)據(jù)庫 503
8.12 數(shù)據(jù)備份恢復 504
實例346 備份SQL Server數(shù)據(jù)庫 504
實例347 還原SQL Server數(shù)據(jù)庫 506
8.13 其他數(shù)據(jù)庫開發(fā)技術 509
實例348 判斷計算機中是否安裝了SQL軟件 509
實例349 開啟SQL Server數(shù)據(jù)庫 510
實例350 斷開SQL Server數(shù)據(jù)庫與其他應用
程序的連接 511
實例351 利用SQL語句執(zhí)行外圍命令 512
實例352 對軟件進行初始化 513
實例353 帶圖像列表的系統(tǒng)登錄程序 515