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