博客來
誠品
天瓏
momo
三民書局
讀冊生活
旗標蝦皮商城
[學會關鍵 SQL 技能,開啟你的資料科學職業生涯]現今,許多企業與組織都要求資料科學家、資料分析師,必須具備從資料庫提取與結合原始資料、設計並生成所需資料集的能力,不需要靠資料工程師或資料庫管理者處理。[SQL 是從事資料科學必學的 3 大技能之一]本書是由與資料為伍 18 年經驗的資料科學家、資料庫開發者親自撰寫,教導有志於從事資料科學者一定要學會的 SQL 查詢技能,以及發現可能問題的解決方法。你將學到如何設計查詢程式,建構用於探索、分析的資料集,並於過程中培養資料分析思維。此書會引導你建立用於商業智慧軟體,以及機器學習演算法等應用的資料集。教導做為資料科學家最需要的 SQL 查詢技能,並透過專家經驗學習如何從資料中獲得有價值的訊息或知識,並避免處理資料時會遇到的陷阱,幫助企業主管快速掌握情況做出正確決策。[搭配 ChatGPT 輔助學習 SQL] 本書以業界主流也最普及的 MySQL 8.0 資料庫系統與 MySQL Workbench 工具做示範。在各章進行過程中依情境穿插 “ChatGPT 來幫忙” 說明框 (總共有 40 多個) 在你可能需要的地方補充相關背景知識或額外的學習技巧,例如請 ChatGPT 依指示產生 SQL 程式、挑出程式錯誤並修改、調整程式寫法增加執行效率、用 Show Me Diagram plugin 為 SQL 查詢繪製執行流程圖、用 Code Interpreter 執行 SQL 程式查詢 Excel 檔內容等等,讓 ChatGPT 與學習 SQL 融為一體。[SQL 查詢技巧重點]●瞭解基本 SQL 語法並設計有效的 SQL 查詢●使用 SQL 進行探索性資料分析●從資料庫中建構、篩選和排序需要的資料集●使用 SQL JOIN 技巧,連結多個表格的資料●為分析報表和機器學習應用設計資料集●應用更進階的 SQL 技術,如窗口函數和 CTE●建立資料庫表格和視圖,儲存並引用查詢結果
● 資深資料科學家寫給有志從事資料科學者的貼心指導● 學習作者觀察資料的視角,培養資料分析思維● 提供書中 SQL 程式碼下載,節省讀者輸入時間● 依學習情境所需穿插 40 多個 "ChatGPT 來幫忙" 說明框● 各章練習題皆附參考答案,非常適合自主學習
第 1 章 資料來源與資料庫1.1 資料來源1.2 用整合開發工具或程式皆可連上資料庫1.3 關聯式資料庫1.4 維度資料倉儲1.5 對資料來源提出疑問1.6 認識農夫市集資料庫1.7 資料科學的術語1.8 將農夫市集資料庫匯入 MySQL第 2 章 查詢資料的 SELECT 基本語法2.1 SELECT 敘述句2.2 查詢的語法結構2.3 選擇要輸出的欄位,並可限制回傳的資料筆數2.4 將輸出依欄位做排序的 ORDER BY 子句2.5 單列欄位資料運算2.6 數值四捨五入的函數2.7 連接字串的函數2.8 評估查詢指令的輸出2.9 SELECT 語法小結第 3 章 為查詢設定篩選條件的 WHERE3.1 篩選出符合條件的資料3.2 利用多重條件篩選3.3 多個欄位條件式篩選3.4 數種用於篩選的關鍵字3.5 透過子查詢(subquery)做篩選第 4 章 依條件作分支處理的 CASE4.1 將每個分支個別處裡4.2 以 CASE 產生二元欄位(Binary Flags)4.3 將連續數值用 CASE 分出區間4.4 透過 CASE 進行分類編碼4.5 CASE 語法小結第 5 章 連結兩個或多個表格資料的 JOIN5.1 兩個表格透過關聯的欄位連結5.2 LEFT JOIN 左外部連結5.3 RIGHT JOIN 右外部連結5.4 INNER JOIN 內部連結5.5 比較 LEFT、RIGHT、INNER JOIN 的差異5.6 篩選連結資料時常見的陷阱5.7 JOIN 兩個以上的表格第 6 章 摘要總結與聚合函數6.1 將資料分組的 GROUP BY 子句6.2 查詢分組與聚合資料6.3 在聚合函數中放入算式6.4 挑出最大與最小值的 MAX 和 MIN 函數6.5 計數的 COUNT 函數與 DISTINCT 關鍵字6.6 計算平均值的 AVG 函數6.7 用 HAVING 子句篩選分組後的資料6.8 在聚合函數中使用 CASE 語法第 7 章 窗口函數與子查詢7.1 窗口函數 ROW_NUMBER7.2 窗口函數 RANK & DENSE RANK7.3 窗口函數 NTILE7.4 聚合窗口函數7.5 窗口函數 LAG & LEAD第 8 章 日期與時間函數8.1 建立 datetime 資料型別欄位8.2 提取 datetime 局部數值 EXTRACT、DATE、TIME8.3 取得時間間隔的結束時間 DATE_ADD & DATE_SUB8.4 計算時間差異 DATEDIFF8.5 指定時間差異單位 TIMESTAMPDIFF8.6 用聚合函數與窗口函數處理 datetime 資料第 9 章 探索資料的結構與特性9.1 EDA 準備要探索的標的9.2 探索 product 表格9.3 探索所有可能的欄位值9.4 探索資料隨時間變化的情況9.5 探索多個表格(1) - 彙總銷售量9.6 探索多個表格(2) - 存貨量 vs. 銷售量第 10 章 打造可重複分析用的自訂資料集10.1 思考自訂資料集的需求10.2 可重複使用自訂資料集的方法:CTEs 和 Views10.3 SQL 為資料集增加更多可用性第 11 章 進階查詢語法結構11.1 將兩個查詢結果聯集的 UNION11.2 自我連結(Self-Join)找出最大值11.3 統計每週的新顧客與回頭客第 12 章 建立機器學習需要的資料集12.1 時間序列模型的資料集12.2 二元分類模型的資料集12.3 特徵工程的考量12.4 建立資料集之後要做的事第 13 章 開發分析資料集的案例13.1 生鮮蔬果銷售分析資料集(1):影響銷售額的氣象、季節因素13.2 生鮮蔬果銷售分析資料集(2):供應商產品與存貨因素13.3 生鮮蔬果銷售分析資料集(3):整合市集與供應商的影響因素13.4 顧客居住地區與人口統計分析資料集13.5 價格分布與高低價分析資料集第 14 章 資料儲存與修改14.1 將 SQL 查詢的資料集儲存成表格、視圖14.2 加入時間戳記欄位14.3 在既存表格中插入列資料與更新數值14.4 將 SQL 納入程式腳本14.5 本書結尾附錄 練習題解答