《SQL學習指南(第2版修訂版)》是2020年4月人民郵電出版社出版的圖書,作者是[美]博利厄(Alan Beaulieu)。
基本介紹
- 書名:SQL學習指南(第2版修訂版)
- 作者:[美]博利厄(Alan Beaulieu)
- ISBN:9787115383440
- 頁數:292頁
- 定價:49元
- 出版社:人民郵電出版社
- 出版時間:2020年4月
- 裝幀:平裝
- 開本:16開
內容簡介,圖書目錄,
內容簡介
本書全面系統地介紹了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.2 關係模型 3
1.1.3 一些術語 5
1.2 什麼是SQL 6
1.2.1 SQL語句的分類 6
1.2.2 SQL:非過程化語句 7
1.2.3 SQL示例 9
1.3 什麼是MySQL 11
1.4 內容前瞻 11
第 2章 創建和使用資料庫 13
2.1 創建MySQL資料庫 13
2.2 使用mysql命令行工具 15
2.3 MySQL數據類型 16
2.3.1 字元型數據 16
2.3.2 數值型數據 18
2.3.3 時間數據 20
2.4 表的創建 22
2.4.1 第 1步:設計 22
2.4.2 第 2步:精化 22
2.4.3 第3步:構建SQL方案語句 24
2.5 操作與修改表 27
2.5.1 插入數據 27
2.5.2 更新數據 31
2.5.3 刪除數據 32
2.6 導致錯誤的語句 32
2.6.1 主鍵不唯 一 32
2.6.2 不存在的外鍵 32
2.6.3 列值不合法 33
2.6.4 無效的日期轉換 33
2.7 Bank方案 34
第3章 查詢入門 37
3.1 查詢機制 37
3.2 查詢語句 39
3.3 select子句 39
3.3.1 列的別名 42
3.3.2 去除重複的頸棗笑全行 43
3.4 from子句 44
3.4.1 表的概念 44
3.4.2 表連線 46
3.4.3 定義表別名 47
3.5 where子句 48
3.6 group by和having子句 50
3.7 order by子句 51
3.7.1 升序或降序排序 53
3.7.2 根據表達式排序 54
3.7.3 根據數字占位符排序 55
3.8 小測驗 55
第4章 局匪過濾 57
4.1 條件評估 57
4.1.1 使用圓括弧 58
4.1.2 使用not操作符 59
4.2 構建條件 60
4.3 條件類型 60
4.3.1 相等條件 60
4.3.2 範圍條件 62
4.3.3 成員條件 65
4.3.4 匹配條件 67
4.4 null: 4個字母的關鍵字 70
4.5 小測驗 73
第5章 多表查詢 75
5.1 什麼乃協嚷是連線 75
5.1.1 笛卡兒積 76
5.1.2 內連線 77
5.1.3 ANSI連線語法 80
5.2 連線3個或更多的表 82
5.2.1 將子查詢結果作為查詢表 84
5.2.2 連續兩次使用同一個表 86
5.3 自連線 87
5.4 相等連線和不等連線 88
5.5 連線條件和過濾條件 90
5.6 小測驗 91
第6章 使用集合 93
6.1 集合理論基礎 93
6.2 集合理論實踐 95
6.3 集合操作符 97
6.3.1 union操作符 97
6.3.2 intersect操作符 99
6.3.3 except操作符 100
6.4 集合操作規則 102
6.4.1 對複合查詢結果排序 102
6.4.2 集合操作符優先簽承提端級 103
6.5 小測驗 105
第7章 數據生成、轉換和操作 107
7.1 使用字元串數據 107
7.1.1 生成字元串 108
7.1.2 操作字元串 112
7.2 使用數值數據 118
7.2.1 執行算術函式 119
7.2.2 控制數字精度 120
7.2.3 處理有符號船良凶數 122
7.3 使用時間數據 123
7.3.1 處理時區 123
7.3.2 生成時間數據 125
7.3.3 操作時間數據 129
7.4 轉換函式 133
7.5 小測驗 134
第8章 分組與聚集 135
8.1 分組概念 135
8.2 聚集函式 137
8.2.1 隱式或顯式分組 138
8.2.2 對獨立值計數 139
8.2.3 使用表達式 141
8.2.4 如何處理null值 141
8.3 產生分組 142
8.3.1 對單列的分組 143
8.3.2 對多列的分組 143
8.3.3 利用表達式分組 144
8.3.4 產生合計數 144
8.4 分組過濾條件 146
8.5 小測驗 148
第9章 子查詢 149
9.1 什麼是子查詢 149
9.2 子查詢類型 150
9.3 非關聯子查詢 150
9.3.1 多行單列子查詢 152
9.3.2 多列子查詢 157
9.4 關聯子查詢 159
9.4.1 exists 運算符 161
9.4.2 關聯子查詢運算元據 162
9.5 何時使用子查詢 163
9.5.1 子查詢作為數據源 163
9.5.2 過濾條件中的子查詢 168
9.5.3 子查詢作為表達式生成器 169
9.6 子查詢總結 172
9.7 小測驗 173
第 10章 再談連線 174
10.1 外連線 174
10.1.1 左外連線與右外連線 178
10.1.2 三路外連線 179
10.1.3 自外連線 181
10.2 交叉連線 184
10.3 自然連線 190
10.4 小測驗 192
第 11章 條件邏輯 194
11.1 什麼是條件邏輯 194
11.2 case 表達式 196
11.2.1 查找型case表達式 196
11.2.2 簡單case表達式 198
11.3 case表達式範例 199
11.3.1 結果集變換 199
11.3.2 選擇性聚合 200
11.3.3 存在性檢查 202
11.3.4 除零錯誤 203
11.3.5 有條件更新 205
11.3.6 null值處理 205
11.4 小測驗 206
第 12章 事務 208
12.1 多用戶資料庫 208
12.1.1 鎖 208
12.1.2 鎖的粒度 209
12.2 什麼是事務 209
12.2.1 啟動事務 211
12.2.2 結束事務 212
12.2.3 事務保存點 213
12.3 小測驗 215
第 13章 索引和約束 216
13.1 索引 216
13.1.1 創建索引 217
13.1.2 索引類型 220
13.1.3 如何使用索引 222
13.1.4 索引的不足 224
13.2 約束 225
13.2.1 創建約束 226
13.2.2 約束與索引 227
13.2.3 級聯約束 227
13.3 小測驗 230
第 14章 視圖 231
14.1 什麼是視圖 231
14.2 為什麼使用視圖 234
14.2.1 數據安全 234
14.2.2 數據聚合 235
14.2.3 隱藏複雜性 236
14.2.4 連線分區數據 236
14.3 可更新的視圖 237
14.3.1 更新簡單視圖 238
14.3.2 更新複雜視圖 239
14.4 小測驗 241
第 15章 元數據 242
15.1 關於數據的數據 242
15.2 信息模式 243
15.3 使用元數據 248
15.3.1 模式生成腳本 248
15.3.2 部署驗證 251
15.3.3 生成動態SQL 251
15.4 小測驗 255
附錄A 示例資料庫的ER圖 256
附錄B MySQL對SQL語言的擴展 258
B.1 擴展select語句 258
B.1.1 limit子句 258
B.1.2 into outfile子句 261
B.2 組合insert/update語句 263
B.3 按排序更新和刪除 265
B.4 多表更新與刪除 266
附錄C 練習答案 270
4.1.2 使用not操作符 59
4.2 構建條件 60
4.3 條件類型 60
4.3.1 相等條件 60
4.3.2 範圍條件 62
4.3.3 成員條件 65
4.3.4 匹配條件 67
4.4 null: 4個字母的關鍵字 70
4.5 小測驗 73
第5章 多表查詢 75
5.1 什麼是連線 75
5.1.1 笛卡兒積 76
5.1.2 內連線 77
5.1.3 ANSI連線語法 80
5.2 連線3個或更多的表 82
5.2.1 將子查詢結果作為查詢表 84
5.2.2 連續兩次使用同一個表 86
5.3 自連線 87
5.4 相等連線和不等連線 88
5.5 連線條件和過濾條件 90
5.6 小測驗 91
第6章 使用集合 93
6.1 集合理論基礎 93
6.2 集合理論實踐 95
6.3 集合操作符 97
6.3.1 union操作符 97
6.3.2 intersect操作符 99
6.3.3 except操作符 100
6.4 集合操作規則 102
6.4.1 對複合查詢結果排序 102
6.4.2 集合操作符優先權 103
6.5 小測驗 105
第7章 數據生成、轉換和操作 107
7.1 使用字元串數據 107
7.1.1 生成字元串 108
7.1.2 操作字元串 112
7.2 使用數值數據 118
7.2.1 執行算術函式 119
7.2.2 控制數字精度 120
7.2.3 處理有符號數 122
7.3 使用時間數據 123
7.3.1 處理時區 123
7.3.2 生成時間數據 125
7.3.3 操作時間數據 129
7.4 轉換函式 133
7.5 小測驗 134
第8章 分組與聚集 135
8.1 分組概念 135
8.2 聚集函式 137
8.2.1 隱式或顯式分組 138
8.2.2 對獨立值計數 139
8.2.3 使用表達式 141
8.2.4 如何處理null值 141
8.3 產生分組 142
8.3.1 對單列的分組 143
8.3.2 對多列的分組 143
8.3.3 利用表達式分組 144
8.3.4 產生合計數 144
8.4 分組過濾條件 146
8.5 小測驗 148
第9章 子查詢 149
9.1 什麼是子查詢 149
9.2 子查詢類型 150
9.3 非關聯子查詢 150
9.3.1 多行單列子查詢 152
9.3.2 多列子查詢 157
9.4 關聯子查詢 159
9.4.1 exists 運算符 161
9.4.2 關聯子查詢運算元據 162
9.5 何時使用子查詢 163
9.5.1 子查詢作為數據源 163
9.5.2 過濾條件中的子查詢 168
9.5.3 子查詢作為表達式生成器 169
9.6 子查詢總結 172
9.7 小測驗 173
第 10章 再談連線 174
10.1 外連線 174
10.1.1 左外連線與右外連線 178
10.1.2 三路外連線 179
10.1.3 自外連線 181
10.2 交叉連線 184
10.3 自然連線 190
10.4 小測驗 192
第 11章 條件邏輯 194
11.1 什麼是條件邏輯 194
11.2 case 表達式 196
11.2.1 查找型case表達式 196
11.2.2 簡單case表達式 198
11.3 case表達式範例 199
11.3.1 結果集變換 199
11.3.2 選擇性聚合 200
11.3.3 存在性檢查 202
11.3.4 除零錯誤 203
11.3.5 有條件更新 205
11.3.6 null值處理 205
11.4 小測驗 206
第 12章 事務 208
12.1 多用戶資料庫 208
12.1.1 鎖 208
12.1.2 鎖的粒度 209
12.2 什麼是事務 209
12.2.1 啟動事務 211
12.2.2 結束事務 212
12.2.3 事務保存點 213
12.3 小測驗 215
第 13章 索引和約束 216
13.1 索引 216
13.1.1 創建索引 217
13.1.2 索引類型 220
13.1.3 如何使用索引 222
13.1.4 索引的不足 224
13.2 約束 225
13.2.1 創建約束 226
13.2.2 約束與索引 227
13.2.3 級聯約束 227
13.3 小測驗 230
第 14章 視圖 231
14.1 什麼是視圖 231
14.2 為什麼使用視圖 234
14.2.1 數據安全 234
14.2.2 數據聚合 235
14.2.3 隱藏複雜性 236
14.2.4 連線分區數據 236
14.3 可更新的視圖 237
14.3.1 更新簡單視圖 238
14.3.2 更新複雜視圖 239
14.4 小測驗 241
第 15章 元數據 242
15.1 關於數據的數據 242
15.2 信息模式 243
15.3 使用元數據 248
15.3.1 模式生成腳本 248
15.3.2 部署驗證 251
15.3.3 生成動態SQL 251
15.4 小測驗 255
附錄A 示例資料庫的ER圖 256
附錄B MySQL對SQL語言的擴展 258
B.1 擴展select語句 258
B.1.1 limit子句 258
B.1.2 into outfile子句 261
B.2 組合insert/update語句 263
B.3 按排序更新和刪除 265
B.4 多表更新與刪除 266
附錄C 練習答案 270