如何學(xué)習SQL
feilniu(AT)gmail.com寫(xiě)于20100826
本文遵循CC協(xié)議,歡迎轉載
在論壇中不斷看到有新人問(wèn)一些基礎的問(wèn)題。于是抽空整理了本帖,希望對新人有所幫助。
本文無(wú)意取代任何一本數據庫或SQL的參考書(shū),主要是提供一點(diǎn)學(xué)習方向的指導和技術(shù)心得的分享。地圖和指南針并不能代替其它的野營(yíng)工具,經(jīng)驗和心得也只能來(lái)自于親身走過(guò)的旅途。
本文主要以SQL Server 2005的T-SQL為示例,但原理并不局限于這一平臺。
由于全文過(guò)長(cháng),故拆分成四部分發(fā)帖:
Table of Content第一部分:SQL基礎1. 為什么學(xué)習SQL
2. 學(xué)習SQL的參考資料
3. 幾組基本概念
3.1. 單機數據庫與服務(wù)器級數據庫
3.2. 服務(wù)器(Server)與客戶(hù)端(Client)
3.3. 數據庫(DB)與數據庫管理系統(DBMS)
3.4. SQL與SQL方言(dialect)
3.5. 語(yǔ)句、表達式和斷言
4. SQL不同于一般編程語(yǔ)言的地方
4.1. SQL操作的是數據
4.2. SQL是基于集合的說(shuō)明式語(yǔ)言
5. SQL的三個(gè)子集
第二部分:從關(guān)系角度理解SQL6. 從關(guān)系角度理解SQL
6.1. 關(guān)系和表
6.2. 關(guān)系模型
6.3. 關(guān)系運算
6.4. 數據查詢(xún)
6.5. 數據修改
6.6. 表的邏輯含義
第三部分:SQL數據類(lèi)型與三值邏輯7. 數據類(lèi)型
8. NULL與三值邏輯
第四部分:DBMS擴展功能與SQL高級話(huà)題9. DBMS提供的擴展功能
9.1. 控制流
9.2. 動(dòng)態(tài)語(yǔ)句
9.3. DBMS支持的數據庫對象
9.4. DBMS提供的系統函數、系統視圖和系統存儲過(guò)程
9.5. DBMS提供的工具
10. 高級話(huà)題