注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫Oracle查詢優(yōu)化改寫技巧與案例

Oracle查詢優(yōu)化改寫技巧與案例

Oracle查詢優(yōu)化改寫技巧與案例

定 價(jià):¥69.00

作 者: 有教無類,落落 著
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: Oracle 計(jì)算機(jī)/網(wǎng)絡(luò) 數(shù)據(jù)庫

ISBN: 9787121247101 出版時(shí)間: 2015-01-01 包裝: 平裝
開本: 16開 頁數(shù): 412 字?jǐn)?shù):  

內(nèi)容簡介

  本書不講具體語法,只是以案例的形式介紹各種查詢語句的用法。第 1~4 章是基礎(chǔ)部分,講述了 常用的各種基礎(chǔ)語句,以及常見的錯(cuò)誤和正確語句的寫法。這部分的內(nèi)容應(yīng)熟練掌握,因?yàn)槿粘2樵?和優(yōu)化改寫都要用到。第 5~12 章是提高部分,講解了正則表達(dá)式、分析函數(shù)、樹形查詢及匯總函數(shù) 的用法。這部分知識(shí)常用于對一些復(fù)雜需求的實(shí)現(xiàn)及優(yōu)化改寫。最后兩章介紹日常的優(yōu)化改寫案例。 這部分是前面所學(xué)知識(shí)的擴(kuò)展應(yīng)用。

作者簡介

  師慶棟網(wǎng)名有教類,人稱教主,CSDN博主,和落落、道道、飛雪等幾個(gè)朋友一起辦了道森培訓(xùn)班,主講sql高級(jí)改寫。配制過大量的手工及半手工報(bào)表,積累了豐富的Oracle Sql開發(fā)經(jīng)驗(yàn)。

圖書目錄

目 錄
第 1 章 單表查詢 1
1.1 查詢表中所有的行與列 1
1.2 從表中檢索部分行 2
1.3 查找空值 3
1.4 將空值轉(zhuǎn)換為實(shí)際值 4
1.5 查找滿足多個(gè)條件的行 5
1.6 從表中檢索部分列 6
1.7 為列取有意義的名稱 6
1.8 在 WHERE 子句中引用取別名的列 7
1.9 拼接列 7
1.10 在 SELECT 語句中使用條件邏輯 8
1.11 限制返回的行數(shù) 10
1.12 從表中隨機(jī)返回 n 條記錄 10
1.13 模糊查詢 12
第 2 章 給查詢結(jié)果排序 14
2.1 以指定的次序返回查詢結(jié)果 14
2.2 按多個(gè)字段排序 16
2.3 按子串排序 16
2.4 TRANSLATE 17
2.5 按數(shù)字和字母混合字符串中的字母排序 19
2.6 處理排序空值 20
2.7 根據(jù)條件取不同列中的值來排序 21
第 3 章 操作多個(gè)表 23
3.1 UNION ALL 與空字符串 23
3.2 UNION 與 OR 24
3.3 組合相關(guān)的行 31
3.4 IN、EXISTS 和 INNER JOIN 31
3.5 INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL JOIN 解析 34
3.6 自關(guān)聯(lián) 37
3.7 NOT IN、NOT EXISTS 和 LEFT JOIN 38
3.8 外連接中的條件不要亂放 41
3.9 檢測兩個(gè)表中的數(shù)據(jù)及對應(yīng)數(shù)據(jù)的條數(shù)是否相同 45
3.10 聚集與內(nèi)連接 46
3.11 聚集與外連接 50
3.12 從多個(gè)表中返回丟失的數(shù)據(jù) 50
3.13 多表查詢時(shí)的空值處理 53
第 4 章 插入、更新與刪除 55
4.1 插入新記錄 55
4.2 阻止對某幾列插入 56
4.3 復(fù)制表的定義及數(shù)據(jù) 57
4.4 用 WITH CHECK OPTION 限制數(shù)據(jù)錄入 57
4.5 多表插入語句 58
4.6 用其他表中的值更新 62
4.7 合并記錄 67
4.8 刪除違反參照完整性的記錄 70
4.9 刪除名稱重復(fù)的記錄 71
第 5 章 使用字符串 74
5.1 遍歷字符串 74
5.2 字符串文字中包含引號(hào) 76
5.3 計(jì)算字符在字符串中出現(xiàn)的次數(shù) 77
5.4 從字符串中刪除不需要的字符 78
5.5 將字符和數(shù)字?jǐn)?shù)據(jù)分離 79
5.6 查詢只包含字母或數(shù)字型的數(shù)據(jù) 80
5.7 提取姓名的大寫首字母縮寫 85
5.8 按字符串中的數(shù)值排序 87
5.9 根據(jù)表中的行創(chuàng)建一個(gè)分隔列表 88
5.10 提取第 n 個(gè)分隔的子串 88
5.11 分解 IP 地址 90
5.12 將分隔數(shù)據(jù)轉(zhuǎn)換為多值 IN 列表 90
5.13 按字母順序排列字符串 91
5.14 判別可作為數(shù)值的字符串 94
第 6 章 使用數(shù)字 100
6.1 常用聚集函數(shù) 100
6.2 生成累計(jì)和 102
6.3 計(jì)算累計(jì)差 106
6.4 更改累計(jì)和的值 108
6.5 返回各部門工資排名前三位的員工 110
6.6 計(jì)算出現(xiàn)次數(shù)最多的值 111
6.7 返回最值所在行數(shù)據(jù) 113
6.8 first_value 116
6.9 求總和的百分比 119
第 7 章 日期運(yùn)算 122
7.1 加減日、月、年 122
7.2 加減時(shí)、分、秒 123
7.3 日期間隔之時(shí)、分、秒 124
7.4 日期間隔之日、月、年 124
7.5 確定兩個(gè)日期之間的工作天數(shù) 124
7.6 計(jì)算一年中周內(nèi)各日期的次數(shù) 127
7.7 確定當(dāng)前記錄和下一條記錄之間相差的天數(shù) 129
第 8 章 日期操作 131
8.1 SYSDATE 能得到的信息 131
8.2 INTERVAL 134
8.3 EXTRACT 135
8.4 確定一年是否為閏年 137
8.5 周的計(jì)算 138
8.6 確定一年內(nèi)屬于周內(nèi)某一天的所有日期 139
8.7 確定某月內(nèi)第一個(gè)和最后一個(gè)“周內(nèi)某天”的日期 140
8.8 創(chuàng)建本月日歷 141
8.9 全年日歷 142
8.10 確定指定年份季度的開始日期和結(jié)束日期 145
8.11 補(bǔ)充范圍內(nèi)丟失的值 145
8.12 按照給定的時(shí)間單位進(jìn)行查找 147
8.13 使用日期的特殊部分比較記錄 148
8.14 識(shí)別重疊的日期范圍 149
8.15 按指定間隔匯總數(shù)據(jù) 152
第 9 章 范圍處理 155
9.1 定位連續(xù)值的范圍 155
9.2 查找同一組或分區(qū)中行之間的差 157
9.3 定位連續(xù)值范圍的開始點(diǎn)和結(jié)束點(diǎn) 159
9.4 合并時(shí)間段 164
第 10 章 高級(jí)查找 168
10.1 給結(jié)果集分頁 168
10.2 重新生成房間號(hào) 170
10.3 跳過表中 n 行 173
10.4 排列組合去重 174
10.5 找到包含最大值和最小值的記錄 176
第 11 章 報(bào)表和數(shù)據(jù)倉庫運(yùn)算 179
11.1 行轉(zhuǎn)列 179
11.2 列轉(zhuǎn)行 184
11.3 將結(jié)果集反向轉(zhuǎn)置為一列 188
11.4 抑制結(jié)果集中的重復(fù)值 190
11.5 利用“行轉(zhuǎn)列”進(jìn)行計(jì)算 191
11.6 給數(shù)據(jù)分組 192
11.7 對數(shù)據(jù)分組 195
11.8 計(jì)算簡單的小計(jì) 195
11.9 判別非小計(jì)的行 198
11.10 計(jì)算所有表達(dá)式組合的小計(jì) 201
11.11 人員在工作間的分布 203
11.12 創(chuàng)建稀疏矩陣 204
11.13 對不同組/分區(qū)同時(shí)實(shí)現(xiàn)聚集 208
11.14 對移動(dòng)范圍的值進(jìn)行聚集 209
11.15 常用分析函數(shù)開窗講解 212
11.16 listagg 與小九九 215
第 12 章 分層查詢 217
12.1 簡單的樹形查詢 217
12.2 根節(jié)點(diǎn)、分支節(jié)點(diǎn)、葉子節(jié)點(diǎn) 218
12.3 sys_connect_by_path 219
12.4 樹形查詢中的排序 220
12.5 樹形查詢中的 WHERE 221
12.6 查詢樹形的一個(gè)分支 222
12.7 剪去一個(gè)分支 223
12.8 字段內(nèi) list 值去重 224
第 13 章 應(yīng)用案例實(shí)現(xiàn) 227
13.1 從不固定位置提取字符串的元素 227
13.2 搜索字母數(shù)字混合的字符串 230
13.3 把結(jié)果分級(jí)并轉(zhuǎn)為列 230
13.4 構(gòu)建基礎(chǔ)數(shù)據(jù)的重要性 234
13.5 根據(jù)傳入條件返回不同列中的數(shù)據(jù) 235
13.6 拆分字符串進(jìn)行連接 237
13.7 整理垃圾數(shù)據(jù) 238
13.8 用“行轉(zhuǎn)列”來得到隱含信息 243
13.9 用隱藏?cái)?shù)據(jù)進(jìn)行行轉(zhuǎn)列 245
13.10 用正則表達(dá)式提取 clob 里的文本格式記錄集 247
第 14 章 改寫調(diào)優(yōu)案例分享 249
14.1 為什么不建議使用標(biāo)量子查詢 249
14.2 用 LEFT JOIN 優(yōu)化標(biāo)量子查詢 252
14.3 用 LEFT JOIN 優(yōu)化標(biāo)量子查詢之聚合改寫 252
14.4 用 LEFT JOIN 及行轉(zhuǎn)列優(yōu)化標(biāo)量子查詢 255
14.5 標(biāo)量中有 ROWNUM =1 257
14.6 不等連接的標(biāo)量子查詢改寫(一) 259
14.7 不等連接的標(biāo)量子查詢改寫(二) 262
14.8 標(biāo)量子查詢與改寫邏輯的一致性 267
14.9 用分析函數(shù)優(yōu)化標(biāo)量子查詢(一) 269
14.10 用分析函數(shù)優(yōu)化標(biāo)量子查詢(二) 271
14.11 用分析函數(shù)優(yōu)化標(biāo)量子查詢(三) 274
14.12 用分析函數(shù)優(yōu)化標(biāo)量子查詢(四) 277
14.13 用 MERGE 改寫優(yōu)化 UPDATE 281
14.14 用 MERGE 改寫有聚合操作的 UPDATE(一) 283
14.15 用 MERGE 改寫有聚合操作的 UPDATE(二) 286
14.16 用 MERGE 改寫 UPDATE 之多個(gè)子查詢(一) 287
14.17 用 MERGE 改寫 UPDATE 之多個(gè)子查詢(二) 288
14.18 UPDATE 改寫為 MERGE 時(shí)遇到的問題 291
14.19 整理優(yōu)化分頁語句 294
14.20 讓分頁語句走正確的 PLAN 296
14.21 去掉分頁查詢中的 DISTINCT 297
14.22 用 WITH 語句減少自關(guān)聯(lián) 300
14.23 用 WITH 改寫優(yōu)化查詢 303
14.24 用 WITH 把 OR 改為 UNION 308
14.25 錯(cuò)誤的 WITH 改寫 312
14.26 錯(cuò)誤的分析函數(shù)用法 315
14.27 用 LEFT JOIN 優(yōu)化多個(gè)子查詢(一) 317
14.28 用 LEFT JOIN 優(yōu)化多個(gè)子查詢(二) 320
14.29 用 LEFT JOIN 優(yōu)化多個(gè)子查詢(三) 322
14.30 去掉 EXISTS 引起的 FILTER 324
14.31 重疊時(shí)間計(jì)數(shù) 325
14.32 用分析函數(shù)改寫優(yōu)化 328
14.33 相等集合之零件供應(yīng)商 334
14.34 相等集合之飛機(jī)棚與飛行員 335
14.35 用分析函數(shù)改寫最值過濾條件 338
14.36 用樹形查詢找指定級(jí)別的數(shù)據(jù) 339
14.37 行轉(zhuǎn)列與列轉(zhuǎn)行 340
14.38 UPDATE、ROW_NUMBER 與 MERGE 343
14.39 改寫優(yōu)化 UPDATE 語句 345
14.40 改寫優(yōu)化 UNION ALL 語句 347
14.41 糾結(jié)的 MERGE 語句 349
14.42 用 CASE WHEN 去掉 UNION ALL 351
14.43 不恰當(dāng)?shù)?WITH 及標(biāo)量子查詢 364
14.44 用分析函數(shù)加“行轉(zhuǎn)列”來優(yōu)化標(biāo)量子查詢 366
14.45 用分析函數(shù)處理問題 369
14.46 用列轉(zhuǎn)行改寫 A 表多列關(guān)聯(lián) B 表同列 372
14.47 用分析函數(shù)改寫最值語句 375
14.48 多列關(guān)聯(lián)的半連接與索引 377
14.49 巧用分析函數(shù)優(yōu)化自關(guān)聯(lián) 378
14.50 糾結(jié)的 UPDATE 語句 383
14.51 巧用 JOIN 條件合并 UNION ALL 語句 385
14.52 用分析函數(shù)去掉 NOT IN 388
14.53 讀懂查詢中的需求之裁剪語句 392
14.54 去掉 FILTER 里的 EXISTS 之活學(xué)活用 393

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) m.ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)