霸榜18年,作者連續(xù)20年獲得微軟MVP,這本SQL書憑什么成為暢銷經(jīng)典

說到 SQL ,大多數(shù)人都不陌生,不管你是 Java 、C++ 還是 .NET 開發(fā)人員,工作中你都要編寫 SQL 查詢。由于數(shù)據(jù)庫是現(xiàn)代 Java 或者 Web 應(yīng)用程序中不可或缺的組成部分,擁有良好的 SQL 技能在面試中也會得到青睞。
有關(guān) SQL 學(xué)習(xí),有很多經(jīng)典入門書,比如,麻省理工學(xué)院的參考教材《SQL必知必會》、日系最易上手入門書《SQL基礎(chǔ)教程》《SQL進階教程》還有美亞 5 星好評的《SQL經(jīng)典實例》,這些書都能讓你在 SQL 起步階段快速上手。

不過今天我們要說的這本,是一本新書,說它新是因為剛剛上市,但實際上這本書已經(jīng)連續(xù)霸榜美國亞馬遜數(shù)據(jù)庫圖書榜單長達 18 年之久??梢哉f是一本不折不扣、經(jīng)得住時間推敲的經(jīng)典好書。
這本書最早一版誕生于 2000 年,中文版《SQL查詢凡人入門》由機械工業(yè)出版社出版。美國亞馬遜上讀者對這本書的評價,沒有一版是低于 4 星的,堪稱數(shù)據(jù)庫圖書中的神作。

作者是約翰·L.維斯卡斯(John L. Viescas),連續(xù) 20 年獲得微軟的 MVP,他還是擁有 50 多年經(jīng)驗的獨立數(shù)據(jù)庫咨詢師。有趣的是,在寫這本書之前,他曾經(jīng)認(rèn)為自己是數(shù)據(jù)庫 SQL 方面的專家,但是后來他發(fā)現(xiàn)自己其實是個“凡夫俗子”。他這樣說道:
如果你使用計算機程序來訪問數(shù)據(jù)庫系統(tǒng)中的信息,你很可能是凡夫俗子。使用應(yīng)用程序內(nèi)置的查詢工具未能獲得期望的信息時,你就需要研究底層的 SQL 語句,找出其中的原因。
如果你最近在使用桌面數(shù)據(jù)庫應(yīng)用程序,卻在使用它定義和查詢所需的數(shù)據(jù)時舉步維艱,你就是凡夫俗子。
如果你是數(shù)據(jù)庫程序員,需要跳出習(xí)慣性思維去解決一些復(fù)雜的問題,你就是凡夫俗子。
如果你是精通某種數(shù)據(jù)庫系統(tǒng)的專家,但需要將該系統(tǒng)中的數(shù)據(jù)整合到另一種支持 SQL 的系統(tǒng)中,你就是凡夫俗子。
怎么辦,好怕自己已經(jīng)踏上了“凡夫俗子”的道路。不過不用怕,這本書也許可以幫你。468 頁不薄也不厚,書中所有內(nèi)容均基于 ISO 制定的新 SQL 數(shù)據(jù)庫語言標(biāo)準(zhǔn)編寫。重點講解 SQL 查詢和數(shù)據(jù)操作的相關(guān)主題,包括關(guān)系型數(shù)據(jù)庫和 SQL、SQL 基礎(chǔ)、多表操作、匯總和分組數(shù)據(jù),以及修改數(shù)據(jù)集等內(nèi)容。
相比于其他 SQL 圖書,這本書更專注于 SQL 而不針對任何具體的數(shù)據(jù)庫系統(tǒng)。是市面上罕有的講解 SQL 查詢的專著。全書分為六個部分:
第一部分
開篇作者簡要介紹了數(shù)據(jù)庫查詢語言 SQL 的發(fā)展歷程,并討論一些確保數(shù)據(jù)庫設(shè)計合理的簡單規(guī)則。讀完這一部分,你將大致了解關(guān)系型數(shù)據(jù)庫是如何面世的,以及它是如何成為當(dāng)今業(yè)界使用最廣泛的數(shù)據(jù)庫的。通過講解這些,作者希望能夠讓你對你使用的數(shù)據(jù)庫系統(tǒng)有些認(rèn)識。??

第二部分
主要講解的是 SQL 的基礎(chǔ)。作者介紹了如何使用 SELECT 語句、如何編寫表達式、如何使用 ORDER BY 子句進行排序,以及如何使用 WHERE 子句篩選數(shù)據(jù)。

第三部分
主要講解的是使用多個表。作者演示如何編寫從多個表中獲取數(shù)據(jù)的查詢,包括如何使用內(nèi)連接、外連接和 UNION 將表關(guān)聯(lián)起來,以及如何使用子查詢。

第四部分
主要講解的是數(shù)據(jù)匯總和分組。作者討論如何獲取匯總信息以及如何對其進行分組和篩選。在這一部分,你將學(xué)習(xí) GROUP BY 和 HAVING 子句。

第五部分
主要講解的是修改數(shù)據(jù)集。作者討論如何編寫查詢來修改表中的一系列行。在這一部分,你將學(xué)習(xí)如何使用 UPDATE、INSERT 和 DELETE 語句。

第六部分
主要講解的是如何解決棘手問題,并介紹更復(fù)雜的問題。在這一部分,你將拓寬視野,了解如何解決復(fù)雜的否定型問題和多條件問題、如何使用 CASE 執(zhí)行條件測試、如何跳出習(xí)慣性思維使用非連接表(笛卡兒積),還將學(xué)習(xí)如何在 GROUP BY 中使用其他關(guān)鍵字來生成小計和累積以及將輸出數(shù)據(jù)劃分為多個子集。

書的末尾還配有幾個附錄,列出了本書介紹過的所有 SQL 元素的語法圖、示例數(shù)據(jù)庫的結(jié)構(gòu)、6 種主流數(shù)據(jù)庫系統(tǒng)實現(xiàn)的日期和時間操作函數(shù),以及可幫助你深入了解 SQL 的推薦讀物。
作者針對 4 種數(shù)據(jù)庫系統(tǒng)(Microsoft Access、Microsoft SQL Server、MySQL 和 PostgreSQL)提供了 5 個示例數(shù)據(jù)庫。
以上就是對這本書的簡單介紹,如果你是數(shù)據(jù)庫新手,剛知道可使用 SQL 來獲取所需的數(shù)據(jù),那么這里有所有的 SQL 基礎(chǔ)知識等你去探索。
如果你是專家級用戶,但需要解決復(fù)雜的問題或集成多個支持 SQL 的系統(tǒng),那么你會對如何利用數(shù)據(jù)庫語言 SQL 的復(fù)雜功能有更深刻的認(rèn)識。所以不管你處在 SQL 的什么階段,這本絕對是你想要的!

美亞4.3星評市面上罕有的講解SQL查詢的專著
《SQL查詢:從入門到實踐(第4版)》
約翰·L.維斯卡斯?著
袁國忠?譯
擁有 50 多年經(jīng)驗的數(shù)據(jù)庫專家傾囊相授,本書重點講解 SQL 查詢和數(shù)據(jù)操作的相關(guān)主題,包括關(guān)系型數(shù)據(jù)庫和 SQL、SQL 基礎(chǔ)、多表操作、匯總和分組數(shù)據(jù),以及修改數(shù)據(jù)集等內(nèi)容,針對編寫 SQL 查詢提供了輕松易懂的逐步指導(dǎo),并包含上百個帶有詳細說明的例子。
作者簡介
約翰·L.維斯卡斯(John L. Viescas),擁有 50 多年經(jīng)驗的獨立數(shù)據(jù)庫咨詢師。職業(yè)生涯之初,作為系統(tǒng)分析師,負責(zé)為 IBM 大型機系統(tǒng)設(shè)計數(shù)據(jù)庫應(yīng)用程序;后在 Applied Data Research 任職,負責(zé) IBM 大型機數(shù)據(jù)庫產(chǎn)品的研發(fā)和客戶支持。1988 年加入 Tandem 計算機公司,負責(zé)開發(fā)和實現(xiàn)市場營銷數(shù)據(jù)庫程序。1993 年自創(chuàng)公司,為全球各種規(guī)模的企業(yè)提供數(shù)據(jù)庫咨詢和培訓(xùn)服務(wù)。從 1993 年到 2015 年,創(chuàng)紀(jì)錄地每年都被微軟授予“最有價值專家”稱號。
John 還寫過多部關(guān)于數(shù)據(jù)庫的著作,還為技術(shù)刊物寫過許多文章,并在世界各地的會議和用戶組會議上發(fā)表過演講。

