1. 程式人生 > >SQL學習指南(第2版修訂版)

SQL學習指南(第2版修訂版)

網站

更多書籍點選進入>> CiCi島

下載

電子版僅供預覽及學習交流使用,下載後請24小時內刪除,支援正版,喜歡的請購買正版書籍

封頁

封頁

內容簡介

本書全面系統地介紹了SQL語言各方面的基礎知識以及一些高階特性,包括SQL資料語言、SQL方案語言、資料集操作、子查詢以及內建函式與條件邏輯等內容。書中每個章節講述一個相對獨立的主題,並提供了相關示例和練習。本書內容以SQL 92標準為藍本,涵蓋了市場上常用資料庫的最新版本(MySQL 6.0、Oracle 11g及Microsoft SQL Server 2008)。    本書適合資料庫應用開發者、資料庫管理員和高階使用者閱讀。針對開發基於資料庫的應用程式,以及日常的資料庫系統管理,本書都展現了大量經過實踐檢驗的方法和技巧。讀者可以通過對本書循序漸進地學習快速掌握SQL語言,也可以在實際工作中遇到問題時直接翻閱本書中的相關章節以獲取解決方案。

目 錄

第1章 背景知識 

1.1 資料庫簡介 

1.1.1 非關係資料庫 

1.1.2 關係模型 

1.1.3 一些術語 

1.2 什麼是SQL 

1.2.1 SQL語句的分類 

1.2.2 SQL:非過程化語句 

1.2.3 SQL示例 

1.3 什麼是MySQL 

1.4 內容前瞻 

第2章 建立和使用資料庫 

2.1 建立MySQL資料庫 

2.2 使用mysql命令列工具 

2.3 MySQL資料型別 

2.3.1 字元型資料 

2.3.2 數值型資料 

2.3.3 時間資料 

2.4 表的建立 

2.4.1 第1步:設計 

2.4.2 第2步:精化 

2.4.3 第3步:構建SQL方案語句 

2.5 操作與修改表 

2.5.1 插入資料 

2.5.2 更新資料 

2.5.3 刪除資料 

2.6 導致錯誤的語句 

2.6.1 主鍵不唯一 

2.6.2 不存在的外來鍵 

2.6.3 列值不合法 

2.6.4 無效的日期轉換 

2.7 Bank方案 

第3章 查詢入門 

3.1 查詢機制 

3.2 查詢語句 

3.3 select子句 

3.3.1 列的別名 

3.3.2 去除重複的行 

3.4 from子句 

3.4.1 表的概念 

3.4.2 表連線 

3.4.3 定義表別名 

3.5 where子句 

3.6 group by和having子句 

3.7 order by子句 

3.7.1 升序或降序排序 

3.7.2 根據表示式排序 

3.7.3 根據數字佔位符排序 

3.8 小測驗 

第4章 過濾 

4.1 條件評估 

4.1.1 使用圓括號 

4.1.2 使用not操作符 

4.2 構建條件 

4.3 條件型別 

4.3.1 相等條件 

4.3.2 範圍條件 

4.3.3 成員條件 

4.3.4 匹配條件 

4.4 null: 4個字母的關鍵字 

4.5 小測驗 

第5章 多表查詢 

5.1 什麼是連線 

5.1.1 笛卡兒積 

5.1.2 內連線 

5.1.3 ANSI連線語法 

5.2 連線3個或更多的表 

5.2.1 將子查詢結果作為查詢表 

5.2.2 連續兩次使用同一個表 

5.3 自連線 

5.4 相等連線和不等連線 

5.5 連線條件和過濾條件 

5.6 小測驗 

第6章 使用集合 

6.1 集合理論基礎 

6.2 集合理論實踐 

6.3 集合操作符 

6.3.1 union操作符 

6.3.2 intersect操作符 

6.3.3 except操作符 

6.4 集合操作規則 

6.4.1 對複合查詢結果排序 

6.4.2 集合操作符優先順序 

6.5 小測驗 

第7章 資料生成、轉換和操作 

7.1 使用字串資料 

7.1.1 生成字串 

7.1.2 操作字串 

7.2 使用數值資料 

7.2.1 執行算術函式 

7.2.2 控制數字精度 

7.2.3 處理有符號數 

7.3 使用時間資料 

7.3.1 處理時區 

7.3.2 生成時間資料 

7.3.3 操作時間資料 

7.4 轉換函式 

7.5 小測驗 

第8章 分組與聚集 

8.1 分組概念 

8.2 聚集函式 

8.2.1 隱式或顯式分組 

8.2.2 對獨立值計數 

8.2.3 使用表示式 

8.2.4 如何處理null值 

8.3 產生分組 

8.3.1 對單列的分組 

8.3.2 對多列的分組 

8.3.3 利用表示式分組 

8.3.4 產生合計數 

8.4 分組過濾條件 

8.5 小測驗 

第9章 子查詢 

9.1 什麼是子查詢 

9.2 子查詢型別 

9.3 非關聯子查詢 

9.3.1 多行單列子查詢 

9.3.2 多列子查詢 

9.4 關聯子查詢 

9.4.1 exists 運算子 

9.4.2 關聯子查詢操作資料 

9.5 何時使用子查詢 

9.5.1 子查詢作為資料來源 

9.5.2 過濾條件中的子查詢 

9.5.3 子查詢作為表示式生成器 

9.6 子查詢總結 

9.7 小測驗 

第10章 再談連線 

10.1 外連線 

10.1.1 左外連線與右外連線 

10.1.2 三路外連線 

10.1.3 自外連線 

10.2 交叉連線 

10.3 自然連線 

10.4 小測驗 

第11章 條件邏輯 

11.1 什麼是條件邏輯 

11.2 case 表示式 

11.2.1 查詢型case表示式 

11.2.2 簡單case表示式 

11.3 case表示式範例 

11.3.1 結果集變換 

11.3.2 選擇性聚合 

11.3.3 存在性檢查 

11.3.4 除零錯誤 

11.3.5 有條件更新 

11.3.6 null值處理 

11.4 小測驗 

第12章 事務 

12.1 多使用者資料庫 

12.1.1 鎖 

12.1.2 鎖的粒度 

12.2 什麼是事務 

12.2.1 啟動事務 

12.2.2 結束事務 

12.2.3 事務儲存點 

12.3 小測驗 

第13章 索引和約束 

13.1 索引 

13.1.1 建立索引 

13.1.2 索引型別 

13.1.3 如何使用索引 

13.1.4 索引的不足 

13.2 約束 

13.2.1 建立約束 

13.2.2 約束與索引 

13.2.3 級聯約束 

13.3 小測驗 

第14章 檢視 

14.1 什麼是檢視 

14.2 為什麼使用檢視 

14.2.1 資料安全 

14.2.2 資料聚合 

14.2.3 隱藏複雜性 

14.2.4 連線分割槽資料 

14.3 可更新的檢視 

14.3.1 更新簡單檢視 

14.3.2 更新複雜檢視 

14.4 小測驗 

第15章 元資料 

15.1 關於資料的資料 

15.2 資訊模式 

15.3 使用元資料 

15.3.1 模式生成指令碼 

15.3.2 部署驗證 

15.3.3 生成動態SQL 

15.4 小測驗 

附錄A 示例資料庫的ER圖 

附錄B MySQL對SQL語言的擴充套件 

B.1 擴充套件select語句 

B.1.1 limit子句 

B.1.2 into outfile子句 

B.2 組合insert/update語句 

B.3 按排序更新和刪除 

B.4 多表更新與刪除 

附錄C 練習答案