SQL 數據分析實戰, 2/e The Applied SQL Data Analytics Workshop - Second Edition: Develop your practical skills and prepare to become a professional data analyst

Goldwasser, Matt, Malik, Upom, Johnston, Benjamin 李慶良 譯

  • SQL 數據分析實戰, 2/e-preview-1
  • SQL 數據分析實戰, 2/e-preview-2
  • SQL 數據分析實戰, 2/e-preview-3
SQL 數據分析實戰, 2/e-preview-1

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

商品描述

《SQL數據分析實戰(第2版)》詳細闡述了與SQL數據分析相關的基本解決方案,主要包括SQL數據分析導論、SQL和數據準備、聚合和窗口函數、導入和導出數據、使用復合數據類型進行分析、高性能SQL、科學方法和應用問題求解等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。

目錄大綱

目    錄

第1章  SQL數據分析導論 1

  1.1  本章主題簡介 1

  1.2  數據世界 2

  1.2.1  數據類型 2

  1.2.2  數據分析和統計 3

  1.2.3  統計類型 3

  1.2.4  作業1.01:分類新數據集 4

  1.3  描述性統計方法 5

  1.3.1  單變量分析 5

  1.3.2  數據頻率分佈 6

  1.3.3  練習1.01:創建直方圖 6

  1.3.4  分位數 11

  1.3.5  練習1.02:計算附加銷售額的四分位數 12

  1.3.6  集中趨勢的度量 15

  1.3.7  練習1.03:計算附加銷售額的集中趨勢 16

  1.3.8  數據散佈的度量 17

  1.3.9  練習1.04:附加銷售額的散佈程度 19

  1.3.10  雙變量分析 20

  1.3.11  散點圖 20

  1.3.12  皮爾遜相關系數 24

  1.3.13  練習1.05:計算兩個變量的Pearson相關系數 25

  1.3.14  解釋和分析相關系數 28

  1.3.15  時間序列數據 30

  1.3.16  作業1.02:探索經銷商銷售數據 31

  1.3.17  處理缺失數據 32

  1.4  統計顯著性檢驗 32

  1.4.1  統計顯著性檢驗的組成 32

  1.4.2  常見的統計顯著性檢驗 34

  1.5  關系數據庫和SQL 34

  1.5.1  關系數據庫的基礎概念 34

  1.5.2  SQL數據庫的優缺點 35

  1.6  SQL的基本數據類型 36

  1.6.1  數值 36

  1.6.2  字符 37

  1.6.3  布爾值 37

  1.6.4  日期時間值 38

  1.6.5  數據結構:JSON和數組 38

  1.7  讀取表:SELECT查詢 38

  1.7.1  SELECT查詢的工作原理 39

  1.7.2  SELECT查詢中的基本關鍵字 40

  1.7.3  SELECT和FROM語句 40

  1.7.4  WHERE 子句 41

  1.7.5  AND/OR子句 41

  1.7.6  IN/NOT IN子句 42

  1.7.7  ORDER BY子句 43

  1.7.8  LIMIT子句 45

  1.7.9  IS NULL/IS NOT NULL子句 46

  1.7.10  練習1.06:在SELECT查詢中使用基本關鍵字 47

  1.7.11  作業1.03:在SELECT查詢中使用基本關鍵字查詢客戶表 49

  1.8  創建表 49

  1.8.1  創建空白表 49

  1.8.2  列約束 50

  1.8.3  練習1.07:在SQL中創建表 50

  1.8.4  使用SELECT創建表 51

  1.9  更新表 52

  1.9.1  添加和刪除列 52

  1.9.2  添加新數據 53

  1.9.3  更新現有行 55

  1.9.4  練習1.08:更新表格以提高車輛的價格 56

  1.10  刪除數據和表 57

  1.10.1  從行中刪除值 57

  1.10.2  從表中刪除行 58

  1.10.3  刪除表 59

  1.10.4  練習1.09:刪除不必要的表 59

  1.10.5  作業1.04:為營銷活動創建和修改表 60

  1.11  SQL和分析 61

  1.12  小結 61

第2章  SQL和數據準備 63

  2.1  本章主題簡介 63

  2.2  組合數據 63

  2.2.1  使用JOIN連接表 64

  2.2.2  連接類型 66

  2.2.3  內連接 67

  2.2.4  外連接 70

  2.2.5  交叉連接 75

  2.2.6  練習2.01:使用JOIN進行分析 76

  2.2.7  子查詢 77

  2.2.8  UNION 78

  2.2.9  練習2.02:使用UNION生成來賓名單 80

  2.2.10  公用表表達式 82

  2.3  轉換數據 83

  2.3.1  CASE WHEN函數 84

  2.3.2  練習2.03:使用CASE WHEN函數獲取區域列表 85

  2.3.3  COALESCE函數 86

  2.3.4  NULLIF函數 87

  2.3.5  LEAST和GREATEST函數 89

  2.3.6  轉換函數 90

  2.3.7  DISTINCT和DISTINCT ON函數 91

  2.3.8  作業2.01:使用SQL技術構建銷售模型 93

  2.4  小結 94

第3章  聚合和窗口函數 95

  3.1  本章主題簡介 95

  3.2  聚合函數 95

  3.2.1  常見聚合函數簡介 96

  3.2.2  練習3.01:使用聚合函數分析數據 98

  3.3  使用GROUP BY聚合函數 99

  3.3.1  GROUP BY子句 100

  3.3.2  多列GROUP BY 104

  3.3.3  練習3.02:使用GROUP BY按產品類型計算成本 105

  3.3.4  分組集 106

  3.3.5  有序集合聚合 107

  3.4  HAVING子句 109

  3.4.1  HAVING子句的語法 109

  3.4.2  練習3.03:使用HAVING子句計算並顯示數據 110

  3.5  使用聚合函數清洗數據和檢查數據質量 111

  3.5.1  使用GROUP BY查找缺失值 111

  3.5.2  使用聚合函數衡量數據質量 113

  3.5.3  作業3.01:使用聚合函數分析銷售數據 114

  3.6  窗口函數 115

  3.6.1  窗口函數基礎知識 116

  3.6.2  練習3.04:分析一段時間內的客戶數據填充率 121

  3.6.3  WINDOW關鍵字 123

  3.7  窗口函數統計 124

  3.7.1  練習3.05:雇傭日期的排名順序 125

  3.7.2  窗口frame子句 126

  3.7.3  練習3.06:團隊午餐激勵 129

  3.7.4  作業3.02:使用窗口幀和窗口函數分析銷售數據 130

  3.8  小結 131

第4章  導入和導出數據 133

  4.1  本章主題簡介 133

  4.2  COPY命令 134

  4.2.1  使用psql復制數據 135

  4.2.2  配置COPY和 \copy 137

  4.2.3  使用COPY和\copy將數據批量上傳到數據庫 138

  4.2.4  練習4.01:將數據導出到文件以在Excel中進一步處理 139

  4.3  使用R分析數據 143

  4.3.1  使用R的原因 143

  4.3.2  開始使用R 143

  4.4  使用Python分析數據 146

  4.4.1  使用Python的原因 146

  4.4.2  開始使用Python 146

  4.4.3  使用SQLAlchemy和Pandas改進Python中的Postgres訪問 149

  4.4.4  關於SQLAlchemy 150

  4.4.5  結合使用Python和Jupyter Notebook 151

  4.4.6  使用Pandas讀寫數據庫 153

  4.4.7  練習4.02:在Python中讀取和可視化數據 154

  4.4.8  使用Python將數據寫入數據庫 156

  4.4.9  使用COPY提高Python寫入速度 157

  4.4.10  用Python讀寫CSV文件 158

  4.5  導入和導出數據的最佳實踐 160

  4.5.1  跳過密碼 160

  4.5.2  作業4.01:使用外部數據集發現銷售趨勢 161

  4.6  小結 162

第5章  使用復合數據類型進行分析 163

  5.1  本章主題簡介 163

  5.2  用於分析的日期和時間數據類型 164

  5.2.1  關於DATE類型 164

  5.2.2  轉換日期類型 167

  5.2.3  關於INTERVAL類型 169

  5.2.4  練習5.01:時間序列數據分析 170

  5.3  在PostgreSQL中執行地理空間分析 172

  5.3.1  緯度和經度 172

  5.3.2  在PostgreSQL中表示緯度和經度 172

  5.3.3  練習5.02:地理空間分析 174

  5.4  在PostgreSQL中使用數組數據類型 176

  5.4.1  關於ARRAY類型 176

  5.4.2  練習5.03:使用數組分析序列 179

  5.5  在PostgreSQL中使用JSON數據類型 181

  5.5.1  JSONB:預解析的JSON 183

  5.5.2  從JSON或JSONB字段訪問數據 184

  5.5.3  使用JSON路徑語言 186

  5.5.4  在JSONB字段中創建和修改數據 188

  5.5.5  練習5.04:通過JSONB搜索 189

  5.6  使用PostgreSQL的文本分析 191

  5.6.1  標記文本 191

  5.6.2  練習5.05:執行文本分析 193

  5.6.3  執行文本搜索 196

  5.6.4  優化PostgreSQL上的文本搜索 198

  5.6.5  作業5.01:銷售搜索和分析 200

  5.7  小結 202

第6章  高性能SQL 203

  6.1  本章主題簡介 203

  6.2  數據庫掃描方法 204

  6.2.1  查詢計劃 205

  6.2.2  順序掃描 205

  6.2.3  練習6.01:解釋查詢計劃器 206

  6.2.4  作業6.01:查詢計劃 210

  6.2.5  索引掃描 211

  6.2.6  B樹索引 212

  6.2.7  練習6.02:創建索引掃描 213

  6.2.8  作業6.02:實現索引掃描 218

  6.2.9  哈希索引 219

  6.2.10  練習6.03:生成若乾個哈希索引來比較性能 220

  6.2.11  作業6.03:實現哈希索引 223

  6.2.12  有效的索引使用 224

  6.3  高性能JOIN 226

  6.3.1  練習6.04:使用INNER JOIN 227

  6.3.2  作業6.04:實現高性能連接 233

  6.4  函數和觸發器 234

  6.4.1  函數定義 235

  6.4.2  練習6.05:創建沒有參數的函數 236

  6.4.3  作業6.05:定義最大銷售額函數 239

  6.4.4  練習6.06:創建帶參數的函數 240

  6.4.5  關於\df和\sf命令 241

  6.4.6  作業6.06:創建帶參數的函數 242

  6.4.7  觸發器 243

  6.4.8  練習6.07:創建觸發器來更新字段 245

  6.4.9  作業6.07:創建觸發器以跟蹤平均購買量 250

  6.4.10  終止查詢 251

  6.4.11  練習6.08:取消長時間運行的查詢 252

  6.4.12  作業6.08:終止長時間運行的查詢 253

  6.5  小結 254

第7章  科學方法和應用問題求解 255

  7.1  本章主題簡介 255

  7.2  案例分析 255

  7.2.1  科學方法 256

  7.2.2  練習7.01:使用SQL技術進行初步數據收集 256

  7.2.3  練習7.02:提取銷售信息 259

  7.2.4  作業7.01:量化銷量下降的情況 263

  7.2.5  練習7.03:啟動時序分析 265

  7.2.6  作業7.02:分析銷售價格假設的差異 272

  7.2.7  練習7.04:通過電子郵件打開率分析銷量增長情況 274

  7.2.8  練習7.05:分析電子郵件營銷活動的效果 282

  7.2.9  得出結論 286

  7.2.10  現場測試 286

  7.3  小結 287

附錄 289

  

·XXX·

SQL數據分析實戰(第2版)

  

·XXXI·

目    錄