本書是《SQL基礎教程》作者MICK為志在向中級進階的數據庫工程師編寫的一本SQL技能提升指南。全書可分為兩部分,第一部分介紹了SQL語言不同尋常的使用技巧,帶領讀者從SQL常見技術,比如CASE表達式、自連接、HAVING子句、外連接、關聯子查詢、EXISTS……去探索新發現。這部分不僅穿插講解了這些技巧背后的邏輯和相關知識,而且輔以豐富的示例程序,旨在幫助讀者提升編程水平;第二部分著重介紹關系數據庫的發展史,把實踐與理論結合起來,旨在幫助讀者加深對關系數據庫和SQL語言的理解。此外,每節末尾均設置有練習題,并在書末提供了解答,方便讀者檢驗自己對書中知識點的掌握程度。
本書適合具有半年以上SQL使用經驗、已掌握SQL基礎知識和技能、希望提升自己編程水平的讀者閱讀。
數據庫工程師進階中級實用指南
挖掘SQL常見技術的新用法
基于標準SQL編寫
示例程序均可下載
本書適合具有一定SQL編程經驗的工程師閱讀
本書特色
1.轉變面向過程語言的思維定式,學習SQL常見技術的不同用法,切實提升SQL應用技能
2.解析經典文獻,回顧關系數據庫發展史,從邏輯學、集合論的角度講述SQL和關系模型的理論,深刻理解面向集合思維
3.講解由淺入深,輔以200多段基于標準SQL編寫的示例代碼和豐富的練習題(包含解答),理論與實踐相結合,易懂、實用、好操作
MICK(作者),日本知名數據庫工程師,就職于SI企業,致力于數據倉庫和商業智能的開發。日常除了在其個人主頁“關系數據庫的世界”中分享數據庫和SQL的相關技術信息外,還為CodeZine(http://codezine.jp)及IT技術雜志WEB+DB PRESS撰寫相關技術文章。同時還是《SQL解惑(第2版)》《SQL**指南(第4版)》日文版的譯者。
吳炎昌(譯者),畢業于西北工業大學軟件工程專業。曾供職于日本多家軟件公司,從事系統開發工作。2015年回國后加入美團點評,現任系統研發工程師。愛好旅行、電影,以及品嘗各種美食,有一位志趣相投的伴侶。
第1章 神奇的SQL
1-1 CASE表達式 2
▲在SQL里表達條件分支 2
練習題 19
1-2 自連接的用法 21
▲面向集合語言SQL 21
練習題 35
1-3 三值邏輯和NULL 38
▲SQL的溫柔陷阱 38
1-4 HAVING子句的力量 55
▲出彩的配角 55
練習題 70
1-5 外連接的用法 72
▲SQL的弱點及其趨勢和對策 72
練習題 92
1-6 用關聯子查詢比較行與行 94
▲用SQL進行行與行之間的比較 94
練習題 110
1-7 用SQL進行集合運算 112
▲SQL和集合論 112
練習題 128
1-8 EXISTS謂詞的用法 130
▲SQL中的謂詞邏輯 130
練習題 146
1-9 用SQL處理數列 149
▲靈活使用謂詞邏輯 149
練習題 165
1-10 HAVING子句又回來了 167
▲再也不要叫它配角了! 167
練習題 183
1-11 讓SQL飛起來 186
▲簡單的性能優化 186
1-12 SQL編程方法 216
▲確立SQL的編程風格 201
第2章 關系數據庫的世界
2-1 關系數據庫的歷史 216
▲1969年——一切從這里開始 216
2-2 為什么叫“關系”模型 222
▲為什么不叫“表”模型 222
2-3 開始于關系,結束于關系 229
▲關于封閉世界的幸福 229
2-4 地址這一巨大的怪物 233
▲為什么關系數據庫里沒有指針 233
2-5 GROUP BY和PARTITION BY 238
▲物以“類”聚 238
2-6 從面向過程思維向聲明式思維、面向集合思維轉變的7個關鍵點 243
▲畫圓 243
2-7 SQL和遞歸集合 250
▲SQL和集合論之間 250
2-8 人類的邏輯學 256
▲淺談邏輯學的歷史 256
2-9 消滅NULL委員會 260
▲全世界的數據庫工程師團結起來! 260
2-10 SQL中的層級 265
▲嚴格的等級社會 265
第3章 附錄
3-1 習題解答 272
3-2 參考文獻 296
后 記 300