《 Oracle查詢最佳化改寫 技巧與案例 》電子工業出版社

來源:互聯網
上載者:User

標籤:分布   單表   Null 字元串   lan   移動   ack   ip地址   時間   去掉   


 


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

《 Oracle查詢最佳化改寫 技巧與案例 》電子工業出版社

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.