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