入門篇
第1章 數據分析基礎介紹 2
1.1 數據分析是什麼 2
1.2 為什麼要進行數據分析 2
1.2.1 現狀分析 3
1.2.2 原因分析 3
1.2.3 預測分析 4
1.3 數據分析究竟在分析什麼 5
1.3.1 總體概覽指標 5
1.3.2 對比性指標 5
1.3.3 集中趨勢指標 6
1.3.4 離散程度指標 6
1.3.5 相關性指標 7
1.3.6 相關與因果 7
1.4 數據分析的常規分析流程7
1.4.1 熟悉工具8
1.4.2 明確目的 8
1.4.3 獲取數據 8
1.4.4 熟悉數據 8
1.4.5 處理數據 8
1.4.6 分析數據 9
1.4.7 得齣結論 9
1.4.8 驗證結論 9
1.4.9 展現結論 9
1.5 數據分析工具 9
1.5.1 Excel 與SQL 9
1.5.2 SQL 與Python 10
知識篇
第2章 數據庫基礎知識 12
2.1 數據庫的發展及組成 12
2.1.1 數據庫的發展 12
2.1.2 數據庫的組成 . 13
2.2 SQL 是什麼 . 13
2.3 SQL 的基本功能 . 14
2.3.1 數據定義 . 15
2.3.2 數據操縱 . 15
2.3.3 數據控製 . 15
2.4 SQL 查詢的處理步驟 . 15
2.4.1 查詢分析 . 15
2.4.2 查詢檢查 . 15
2.4.3 查詢優化 . 16
2.4.4 查詢執行 . 16
2.5 不同數據庫的比較 . 16
第3章 數據庫工具準備 17
3.1 認識MySQL 官方網站 17
3.2 MySQL 的下載與安裝 . 19
3.2.1 基於Windows 的下載與安裝 19
3.2.2 基於macOS 的下載與安裝 . 27
3.3 DBeaver 的下載與安裝 33
3.3.1 基於Windows 的下載與安裝 33
3.3.2 基於macOS 的下載與安裝 . 38
3.4 DBeaver 使用說明 42
3.4.1 新建錶結構 . 42
3.4.2 導入外部數據 . 44
3.4.3 代碼執行 . 46
3.4.4 導齣結果數據 . 47
3.5 寫下第一行SQL 語句 49
第4章 數據源的獲取 50
4.1 外部數據 . 50
4.2 公司現有數據 . 50
4.3 新建數據 . 50
4.4 熟悉數據 . 50
4.4.1 瞭解數據庫信息 . 52
4.4.2 瞭解數據錶信息 . 52
4.4.3 瞭解列信息 . 52
第5章 數據的獲取 54
5.1 獲取列 . 54
5.1.1 獲取全部列 . 55
5.1.2 獲取特定的列 . 55
5.2 獲取想要的行 . 56
5.2.1 獲取全部行 . 56
5.2.2 獲取前幾行 . 56
5.2.3 獲取滿足單一條件的行 . 57
5.2.4 獲取滿足多個條件的行 . 58
5.3 行列同時獲取 . 59
5.4 插入一列固定值 . 60
5.5 JSON 列解析 . 61
5.6 對結果進行排序 . 62
第6章 數據預處理 65
6.1 缺失值處理 . 65
6.2 重復值處理 . 68
6.3 數據類型轉換 . 70
6.4 重命名 . 72
第7章 數據運算 74
7.1 算術運算 . 74
7.2 比較運算 . 76
7.3 邏輯運算 . 78
7.4 數學運算 . 80
7.4.1 求絕對值 . 80
7.4.2 求最小整數值 . 81
7.4.3 求最大整數值 . 81
7.4.4 隨機數生成 . 81
7.4.5 小數點位數調整 . 83
7.4.6 正負判斷 . 83
7.5 字符串運算 . 84
7.5.1 字符串替換 . 84
7.5.2 字符串閤並 . 85
7.5.3 字符串截取 . 86
7.5.4 字符串匹配 . 86
7.5.5 字符串計數 . 87
7.5.6 去除字符串空格 . 88
7.5.7 字符串重復 . 89
7.6 聚閤運算 . 89
7.6.1 count()計數 . 89
7.6.2 sum()求和 90
7.6.3 avg()求平均值 90
7.6.4 max()求最大值 . 90
7.6.5 min()求最小值 91
7.6.6 求方差 . 91
7.6.7 求標準差 . 92
7.6.8 聚閤函數之間的運算 . 92
第8章 控製函數 94
8.1 if()函數 94
8.2 case when 函數 96
第9章 日期和時間函數 99
9.1 獲取當前時刻的數據 . 99
9.1.1 獲取當前時刻的日期和時間 . 99
9.1.2 獲取當前時刻的日期 . 99
9.1.3 獲取當前時刻的時間 . 100
9.1.4 獲取當前時刻所屬的周數 . 101
9.1.5 獲取當前時刻所屬的季度 . 102
9.2 日期和時間格式轉換 . 102
9.3 日期和時間運算 . 104
9.3.1 嚮後偏移日期和時間 . 104
9.3.2 嚮前偏移日期和時間 . 105
9.3.3 兩個日期之間做差 . 106
9.3.4 兩個日期之間的比較 . 107
第10章 數據分組與數據透視錶 108
10.1 group by 的底層原理 108
10.2 對分組後的數據進行聚閤運算 . 109
10.3 對聚閤後的數據進行條件篩選 111
10.4 group_concat()函數 112
10.5 rollup. 113
10.6 數據透視錶實現 115
第11章 窗口函數 . 117
11.1 什麼是窗口函數 117
11.2 聚閤函數+over()函數 117
11.3 partition by 子句 . 118
11.4 order by 子句 . 120
11.5 序列函數 . 121
11.5.1 ntile()函數 . 121
11.5.2 row_number()函數 123
11.5.3 lag()和lead()函數 . 124
11.5.4 first_value()和last_value()函數 . 126
第12章 多錶連接 127
12.1 錶的橫嚮連接 . 127
12.1.1 錶連接的方式 . 128
12.1.2 錶連接的類型 . 132
12.1.3 多張錶連接 . 134
12.2 錶的縱嚮連接 . 135
12.3 橫嚮連接的底層原理 . 135
12.3.1 Simple Nested-Loop Join 136
12.3.2 Index Nested-Loop Join 136
12.3.3 Block Nested-Loop Join 137
第13章 子查詢 139
13.1 子查詢的概念 . 139
13.2 子查詢的分類 . 139
13.2.1 select 子查詢 . 140
13.2.2 from 子查詢 141
13.2.3 where 子查詢 142
13.3 with 建立臨時錶 . 144
實戰篇
第14章 SQL中的其他話題 . 150
14.1 SQL 查詢的執行順序. 150
14.2 變量設置 . 152
14.3 分區錶 . 153
14.4 寬錶與窄錶 . 154
14.5 全量錶,增量錶,快照錶,拉鏈錶,流水錶 . 154
14.6 數據迴溯 . 156
14.7 數據倉庫的基本分層 . 157
14.8 SQL 語句的代碼規範157
14.9 如何快速梳理數據庫邏輯 159
14.10 如何快速讀懂彆人的代碼 160
14.11 編輯器 161
14.11.1 軟件安裝 161
14.11.2 常用功能設置 162
14.11.3 常用快捷鍵 166
14.12 創建錶 167
14.12.1 創建一張錶 167
14.12.2 嚮錶中插入數據 168
14.12.3 修改錶中的數據169
14.12.4 刪除錶 169
第15章 SQL 數據分析實戰 170
15.1 查詢每個區域的用戶數 170
15.2 查詢每個區域的男女用戶數 171
15.3 查詢姓張的用戶數 171
15.4 篩選齣id3~id5 的用戶 172
15.5 篩選齣績效不達標的員工 172
15.6 篩選齣姓張的且績效不達標的員工 173
15.7 查詢獲得銷售冠軍超過兩次的人 174
15.8 查詢某部門一年的月銷售額最高漲幅 175
15.9 查詢每個季度績效得分大於70 分的員工 175
15.10 刪除重復值 176
15.11 行列互換 177
15.12 多列比較 178
15.13 對成績進行分組179
15.14 周纍計數據獲取 180
15.15 周環比數據獲取 181
15.16 查詢獲奬員工信息 182
15.17 計算用戶留存情況 183
15.18 篩選最受歡迎的課程 185
15.19 篩選齣每個年級最受歡迎的三門課程 186
15.20 求纍積和 187
15.21 獲取新增用戶數 189
15.22 獲取用戶首次購買時間 190
15.23 同時獲取用戶和訂單數據 191
15.24 隨機抽樣 192
15.25 獲取沉默用戶數 193
15.26 獲取新用戶的訂單數 193
15.27 獲取藉款到期名單 194
15.28 獲取即將到期的藉款信息 195
15.29 獲取曆史逾期藉款信息 196
15.30 綜閤實戰 196
第16章 SQL中常見的報錯 198
16.1 DBeaver 相關報錯 198
16.1.1 時區錯誤 198
16.1.2 Public Key Retrieval 199
16.1.3 connect error 200
16.1.4 加密方式錯誤 201
16.2 MySQL 配置相關報錯 202
16.2.1 MySQL 安裝失敗 202
16.2.2 MySQL 客戶端閃退 206
16.2.3 訪問被拒絕 206
16.3 語法相關報錯 206
16.3.1 錶名錯誤 206
16.3.2 列名錯誤 206
16.3.3 group by 錯誤 206
16.3.4 權限錯誤 207
16.3.5 逗號錯誤 207
16.3.6 括號錯誤 208
· · · · · · (
收起)