SQL 達人的工作現場攻略筆記

SQL 達人的工作現場攻略筆記

作者: ミック 許郁文
出版社: 碁峰資訊
出版在: 2019-10-04
ISBN-13: 9789865022730
ISBN-10: 9865022737
裝訂格式: 平裝
總頁數: 372 頁




內容描述


一本告訴您如何正確編寫與思考SQL的書籍

本書深入探討SQL語法,諸如CASE 陳述式、視窗函數、外部連結、關聯子查詢、HAVING子句、EXISTS,如果您已經了解使用SQL指令的基本語法,應該就能順利閱讀本書。本書的第一部會以一章介紹一個這類SQL工具,希望大家透過範例學會這些工具的使用方法。請大家務必動手撰寫這些程式碼。基本上,會希望各位讀者從頭開始閱讀本書,但如果有些內容已經很熟悉,不妨直接跳至有興趣的章節閱讀。

幫助您了解SQL的真面目
。或許大家會覺得這麼說很神奇,但其實SQL就是如此神奇的程式語言。有些初學者會遇到一些很神奇的事,例如一開始覺得SQL是能輕易實現簡單目的的語言,但隨著想要深入了解,就遇到無法合理解釋的語言規格,或是想要寫稍微複雜一點的程式,就被語法絆住腳步的情況。為什麼與NULL有關的SQL動作會如此混亂?為什麼用於資料列比對的關聯子查詢語法如此困難,有必要存在嗎?為什麼SQL沒有程序語言的迴圈或變數這類工具?為什麼SQL如此難以呈現「全部的」?以本書將為了具有這類好奇心的讀者,從背景知識開始解說SQL的原理與開發這個語言的人究竟在想什麼,才把SQL打造成這副模樣。

本書特色:
.SQL經典暢銷書,資料庫開發人員必備案頭書的全新改版
.適用於各種資料庫系統。包括Oracle、SQL Server、DB2、PostgreSQL、MySQL
.可以立即使用的實用範例  

<序>
本書自初版發行至今已經過十年,對筆者來說,本書的初版是第一次掇筆撰寫的書,也就是所謂的處女作,完全是在不知道自己的所知所聞與文章會被如何接受的狀態下所寫。幸運的是,第一版得到許多讀者的青睞而成為稍微長銷的SQL解說書,也因為有這樣的支持,才得到本次校訂再版的機會,首先,再次感謝給予本書第二次機會的讀者。
本書得以長銷的理由之一在於RDB與SQL非常長壽。雖然NoSQL的勢力抬頭,但RDB仍是許多系統的持久層的第一選擇,而且SQL不僅沒有勢微,反而因為更具直覺性操作優勢的介面,滲透專業程式設計師與工程師之外的終端使用者層。雖然如此,SQL在這十年內也隨著流行而有不少的改變,例如,必須能處理過去難以想像的大量資料,分析業務不再只由少部分的專家負責,導致SQL也應時代需求新增了許多功能。本書為了反映這些改變,也將SQL 程式設計的部分改寫成更符合現代化的內容,尤其是在撰寫初版之際,因DBMS的支援尚不完全,而未能大幅介紹的視窗函數,在這次的修訂裡,更是全面採用。
本書的概念是「中級SQL 程式設計入門」,預設的讀者群是於實務撰寫SQL 程式達半年至一年左右的讀者。書中會介紹許多SQL 的工具,例如CASE 陳述式、視窗函數、外部連結、關聯子查詢、HAVING子句、EXISTS語句,如果您已經了解使用這些工具的基本語法,應該就能順利閱讀本書。本書的第一部會於一章介紹一個這類SQL 工具,希望大家透過範例學會這些工具的使用方法。請大家務必動手撰寫這些程式碼。基本上,會希望各位讀者從頭開始閱讀本書,但如果有些內容已經很熟悉,不妨直接跳至有興趣的章節閱讀。
此外,本書也另有一個預設的讀者群,那就是想了解「何為SQL」的各級讀者。或許大家會覺得這麼說很神奇,但其實SQL 就是如此神奇的程式語言。有些初學者會遇到一些很神奇的事,例如一開始覺得SQL是能輕易實現簡單目的的語言,但隨著想要深入了解,就遇到無法合理解釋的語言規格,或是想要寫稍微複雜一點的程式,就被語法絆住腳步的情況。為什麼與NULL 有關的SQL 動作會如此混亂?為什麼用於資料列比對的關聯子查詢語法如此困難,有必要存在嗎?為什麼SQL沒有程序語言的迴圈或變數這類工具?為什麼SQL如此難以呈現「全部的」?
若只以「就是這樣」回答這些疑問,或許可繞過這些問題,但大部分的工程師或程式設計師都是以「太深入了解反而會變得太麻煩,所以跟這些工具保持適當距離就好」的想法,但其實也有人想了解這些工具的來龍去脈,所以本書將為了具有這類好奇心的讀者,從背景知識開始解說SQL 的原理與開發這個語言的人們究竟在想什麼,才把SQL打造成這副模樣。本書也將解答SQL這類疑問。當然,筆者沒有信心徹底解答所有問題,但應該能提供各位讀者一個理解語言本質的提示。
本書除了希望在增進讀者SQL 程式語言功力這點做出貢獻,也希望能讓各位讀者一窺程式語言這種文化產物的趣味性。
歡迎來到不可思議卻很有趣的SQL 世界。


目錄大綱


第Ⅰ部 魔法のSQL
第1章|CASE陳述式的建議
第2章|一定要搞懂的視窗函數
第3章|自我連結的使用方法
第4章|三元邏輯運算與NULL
第5章|EXISTS述詞的使用方法
第6章|HAVING陳述句的力量
第7章|以視窗函數執行資料列比對
第8章|外部連結的使用方法
第9章|SQL的集合運算
第10章|以SQL操作數列
第11章|要讓SQL加速囉
第12章|SQL程式設計的模式
第Ⅱ部 關聯式資料庫的世界249
第13章|RDB近現代史
第14章|為什麼會命名為「關聯式」模型?
第15章|始於關聯式,終於關聯式
第16章|位址,這個龐然大物
第17章|有關順序的冒險
第18章|GROUP BY 與PARTITION BY
第19章|從程序語言切換至宣告型、集合導向語法的七項法則
第20章|神不存在的邏輯
第21章|SQL 與迴歸集合
第22章|撲滅NULL委員會会
第23章|SQL裡的存在階層
第Ⅲ部 附錄
附錄A練習題的解答
附錄B參考文獻


作者介紹


Mick
於SI企業服務的工程師。累積DB工程師的相關經驗後,目前於美國聖荷西從事技術調查與事業開發的工作。
著有:《 達人に学ぶ SQL徹底指南書》(翔泳社、2008)、《達人に学ぶDB設計 徹底指南書》(翔泳社、2012)、《SQL 実践入門》(技術評論社、2015)、プログラミング学習シリーズ《SQL 第2 版》(翔泳社、2016)
譯有:Joe Celko《SQL パズル 第2 版》(翔泳社、2007)、Joe Celko《プログラマのためのSQL 第4 版》(翔泳社、2013)、Joe Celko《プログラマのためのSQL グラフ原論》(翔泳社、2016)




相關書籍

MySQL數據庫應用與開發

作者 薑桂洪 孫福振 蘇晶

2019-10-04

OCP 認證考試指南 (1ZO-063) Oracle Database 12c 高級管理

作者 布萊拉 (Bob Bryla)

2019-10-04

SQL Server 2016數據庫入門與應用

作者 李艷麗 靳智良

2019-10-04