第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與空字符串 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 用正則錶達式提取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
· · · · · · (
收起)