SQL 數據分析 SQL for Data Analytics: Perform fast and efficient data analysis with the power of SQL

[美]烏普姆·馬利克 等著 李安然 張迎 譯 李安然,張迎 譯

  • SQL 數據分析-preview-1
  • SQL 數據分析-preview-2
  • SQL 數據分析-preview-3
SQL 數據分析-preview-1

買這商品的人也買了...

商品描述

本書詳細闡述了與SQL數據分析相關的基本解決方案,主要包括理解和描述數據、
數據分析與SQL基礎知識、SQL數據準備、數據分析的聚合函數、數據分析的窗口函數、
導入和導出數據、利用複雜數據類型進行分析、高性能SQL、利用SQL獲取洞察結果等內容。
此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。
 本書適合作為高等院校計算機及相關專業的教材和教學參考書,
也可作為相關開發人員的自學教材和參考手冊。

目錄大綱

第1章 理解和描述數據 1
1.1 簡介 1
1.2 數據世界 1
1.2.1 數據類型 1
1.2.2 數據分析和統計 2
1.2.3 統計類型 3
1.2.4 操作1:對新數據集進行分類 4
1.3 描述統計的方法 4
1.3.1 單變量分析 5
1.3.2 數據頻率分佈 5
1.3.3 練習1:創建直方圖 5
1.3.4 練習2:計算附加銷售的四分位數 10
1.3.5 集中趨勢 12
1.3.6 練習3:計算附加銷售的集中趨勢 13
1.3.7 離散度 14
1.3.8 練習4:附加銷售的離散度 15
1.3.9 雙變量分析 16
1.3.10 散點圖 16
1.3.11 練習5:計算兩個變量的皮爾森相關係數 21
1.3.12 操作2:研究經銷商銷售數據 26
1.3.13 與遺失數據協同工作 27
1.4 統計顯著性檢驗 27
1.5 本章小結 29

第2章 數據分析與SQL基礎知識 31
2.1 簡介 31
2.2 關係數據庫和SQL 31
2.3 SQL中的基本數量類型 33
2.3.1 數字 33
2.3.2 字符 33
2.3.3 布爾類型 35
2.3.4 datatime 35
2.3.5 數據結構:JSON和數組 36
2.4 讀取表:SELECT查詢 36
2.4.1 SELECT查詢的基本分析和工作機制 36
2.4.2 SELECT查詢中的基本關鍵字 37
2.4.3 練習6:查詢銷售人員表 42
2.4.4 操作3:查詢客戶表 43
2.5 創建表 44
2.5.1 創建空表 44
2.5.2 練習7:在SQL中創建表 45
2.5.3 利用SELECT創建表 46
2.6 更新表 46
2.6.1 添加和移除列 46
2.6.2 添加新數據 47
2.6.3 更新現有行 48
2.6.4 練習8:更新SQL中的表 48
2.7 刪除數據和表 49
2.7.1 刪除行中的值 49
2.7.2 刪除表中的行 50
2.7.3 刪除表 50
2.7.4 練習9:不必要的參考表 51
2.7.5 操作4:營銷行為 51
2.8 SQL和數據分析 52
2.9 本章小結 52

第3章 SQL數據準備 55
3.1 簡介 55
3.2 採集數據 55
3.2.1 利用JOIN連接表 55
3.2.2 連接類型 57
3.2.3 練習10:使用連接操作分析經銷商數據 63
3.2.4 子連接 65
3.2.5 聯合 65
3.2.6 練習11:利用UNION關鍵字生成高級客戶名單 67
3.2.7 公共表表達式 68
3.3 轉換數據 69
3.3.1 練習12:使用CASE WHEN函數獲取區域列表 70
3.3.2 操作5:利用SQL技術構建銷售模型 76
3.4 本章小結 77

第4章 數據分析的聚合函數 79
4.1 簡介 79
4.2 聚合函數 79
4.3 練習13:使用聚合函數分析數據 81
4.4 基於GROUP BY的聚合函數 82
4.4.1 GROUP BY 82
4.4.2 多列GROUP BY 85
4.4.3 練習14:利用GROUP BY並通過產品類型計算成本 86
4.4.4 集合分組 87
4.4.5 有序集聚合結果 88
4.5 HAVING子句 89
4.6 練習15:利用HAVING子句計算和顯示數據 90
4.7 使用聚合函數清理數據並檢測數據質量 91
4.7.1 利用GROUP BY檢索缺失數據 91
4.7.2 利用聚合函數評估數據質量 93
4.7.3 操作6:利用聚合函數分析銷售數據 93
4.8 本章小結 94

第5章 數據分析的窗口函數 95
5.1 簡介 95
5.2 窗口函數 95
5.2.1 窗口函數的基本知識 96
5.2.2 練習16:分析客戶數據填充率 100
5.2.3 WINDOW關鍵字 102
5.3 基於窗口函數的統計信息 103
5.3.1 練習17:聘用日期排名 104
5.3.2 窗框 105
5.3.3 練習18:團餐活動 107
5.3.4 操作7:利用窗框和窗口函數分析銷售數據 108
5.4 本章小結 109

第6章 導入和導出數據 111
6.1 簡介 111
6.2 COPY命令 111
6.2.1 使用COPY命令 112
6.2.2 利用psql複製數據 113
6.2.3 配置COPY和\copy 114
6.2.4 使用COPY和\copy命令將數據批量上傳至數據庫中 114
6.2.5 練習19:將數據導出至文件中並在Excel中進行處理 115
6.3 R和數據庫 118
6.3.1 為何使用R 119
6.3.2 開始使用R 119
6.4 Python語言和數據庫 121
6.4.1 為何使用Python 121
6.4.2 開始使用Python 122
6.4.3 練習20:利用Python導出數據庫中的數據 122
6.4.4 利用SQLAlchemy和Pandas改進Python中的Postgres訪問操作 124
6.4.5 為何使用SQLAlchemy 124
6.4.6 使用Jupyter Notebook 125
6.4.7 利用Pandas讀取和寫入數據庫 127
6.4.8 利用Pandas執行數據可視化操作 128
6.4.9 練習21:在Python中讀取數據和可視化數據 128
6.4.10 利用Python將數據寫入數據庫中 130
6.4.11 利用COPY提升Python寫入速度 131
6.4.12 利用Python讀、寫CSV文件 132
6.5 實現導入、導出數據 133
6.5.1 減少密碼處理 133
6.5.2 操作8:使用外部數據集估計銷售趨勢 134
6.6 本章小結 135

第7章 利用複雜數據類型進行分析 137
7.1 簡介 137
7.2 日期和時間數據類型 137
7.2.1 date類型 138
7.2.2 轉換日期類型 140
7.2.3 區間 142
7.2.4 練習22:分析時序數據 143
7.3 在Postgres中執行地理空間分析 145
7.3.1 經緯度 145
7.3.2 在Postgres中表示經緯度 145
7.3.3 練習23:地理空間分析 147
7.4 使用Postgres中的ARRAY數據類型 149
7.5 使用Postgres中的JSON數據類型 152
7.5.1 JSONB:預解析的JSON 154
7.5.2 從JSON或JSONB字段中訪問數據 155
7.5.3 創建和修改JSONB字段中的數據 157
7.5.4 練習24:搜索JSONB 157
7.6 利用Postgres進行文本分析 159
7.6.1 標記文本 159
7.6.2 練習25:執行文本分析 160
7.6.3 執行文本搜索 164
7.6.4 優化Postgres上的文本搜索 166
7.6.5 操作9:銷售量的搜索和分析 168
7.7 本章小結 169

第8章 高性能SQL 171
8.1 簡介 171
8.2 數據庫掃描方法 172
8.2.1 查詢規劃機制 172
8.2.2 掃描和順序掃描 173
8.2.3 練習26:解釋查詢規劃 174
8.2.4 操作10:查詢規劃 178
8.2.5 索引掃描 178
8.2.6 B樹索引 179
8.2.7 練習27:創建索引掃描 180
8.2.8 操作11:實現索引掃描 185
8.2.9 哈希索引 186
8.2.10 練習28:生成多個哈希索引以改進性能 186
8.2.11 操作12:實現哈希索引 190
8.2.12 高效的索引應用 191
8.3 高效的連接操作 192
8.3.1 練習29:內連接應用 193
8.3.2 操作13:實現連接操作 198
8.4 函數和触發器 199
8.4.1 函數定義 200
8.4.2 練習30:定義無參函數 201
8.4.3 操作14:定義最大銷售額函數 203
8.4.4 練習31:定義包含參數的函數 204
8.4.5 \df和\sf命令 206
8.4.6 操作15:定義包含參數的函數 206
8.4.7 觸發器 207
8.4.8 練習32:創建觸發器以更新字段 208
8.4.9 操作16:創建觸發器並記錄平均購買量 213
8.4.10 刪除查詢 214
8.4.11 練習33:取消耗時較長的查詢 214
8.4.12 操作17:終止一個耗時的查詢 216
8.5 本章小結 216

第9章 利用SQL獲取洞察結果 219
9.1 簡介 219
9.2 案例研究 219
9.2.1 科學方法 219
9.2.2 練習34:基於SQL技術的初步數據收集 220
9.2.3 練習35:析取銷售信息 222
9.2.4 操作18:銷售的量化計算 226
9.2.5 練習36:上市時間分析 227
9.2.6 操作19:分析銷售價格假設中的差異 234
9.2.7 練習37:通過電子郵件點擊率分析銷售增長 236
9.2.8 練習38:分析電子郵件營銷活動的表現結果 243
9.2.9 結論 247
9.2.10 現場測試 248
9.3 本章小結 248
附錄 251
第1章 理解和描述數據 251
操作1:對新數據集進行分類 251
操作2:研究經銷商銷售數據 251
第2章 數據分析與SQL基礎知識 253
操作3:查詢客戶表 253
操作4:營銷行為 255
第3章 SQL數據準備 256
操作5:利用SQL技術構建銷售模型 256
第4章 數據分析的聚合函數 257
操作6:利用聚合函數分析銷售數據 257
第5章 數據分析的窗口函數 259
操作7:利用窗框和窗口函數分析銷售數據 259
第6章 導入和導出數據 262
操作8:使用外部數據集估計銷售趨勢 262
第7章 利用複雜數據類型進行分析 269
操作9:銷售量的搜索和分析 269
第8章 高性能SQL 272
操作10:查詢規劃 272
操作11:實現索引掃描 274
操作12:實現哈希索引 276
操作13:實現連接操作 278
操作14:定義最大銷售額函數 280
操作15:定義包含參數的函數 281
操作16:創建觸發器並記錄平均購買量 282
操作17:終止一個耗時的查詢 283
第9章 利用SQL獲取洞察結果 284
操作18:銷售的量化計算 284
操作19:分析銷售價格假設中的差異 286