編輯推薦
適讀人群 :本書適閤數據庫和SQL語言的初學者閱讀,也可作為大中專院校的教材及企業新人培訓用書。 zi深數據庫工程師寫給初學者的實用指南!
107張圖錶+209段代碼+88個法則,菜鳥進階bi備!
基於標準SQL編寫,明示各RDBMS(PostgreSQL DB2 MySQL Oracle SQL Server)的差異!
1.暢銷書全新升級,內容更新更全麵!
第1版豆瓣評分8.8分,重印13次,好評如潮。第2版基於新版本RDBMS全麵升級,並新增一章介紹從應用程序執行SQL語句的方法。
2.由淺入深,結構清晰,真正適閤初學者!
從數據庫、錶的結構到查詢、更新錶的語法,常用的函數,錶的聯結等,內容逐步深入。對於初學者常見的疑難點,均通過專欄進行講解。各章節後精心設計瞭練習題,幫助讀者鞏固理解。
3.雙色印刷,排版獨特,讓你讀起來不纍!
雙色印刷賞心悅目,“學習重點”“KEYWORD”“備忘”“法則”“專欄”等各種小模塊幫你梳理知識點,讓學習過程事半功倍。
內容簡介
本書是暢銷書《SQL基礎教程》第2版,介紹瞭關係數據庫以及用來操作關係數據庫的SQL語言的使用方法。書中通過豐富的圖示、大量示例程序和詳實的操作步驟說明,讓讀者循序漸進地掌握SQL的基礎知識和使用技巧,切實提高編程能力。每章結尾設置有練習題,幫助讀者檢驗對各章內容的理解程度。另外,本書還將重要知識點總結為“法則”,方便讀者隨時查閱。第2版除瞭將示例程序更新為對應*新的DB的SQL之外,還新增瞭一章,介紹如何從應用程序執行SQL。
作者簡介
MICK(作者)
日本zi深數據庫工程師,就職於SI企業,緻力於商業智能和數據倉庫的開發。為CodeZine(http: codezine.jp)及IT雜誌WEB+DB PRESS撰寫技術文章。著作有《跟達人學SQL》《跟達人學DB設計》,是Joe Celko's SQL Puzzles and Answers,Second Edition、Joe Celko's SQL for Smarties,Fourth Edition: Advanced SQL Programming的日文版的譯者。
孫淼(譯者)
從事對日軟件設計和研發工作十餘年,曾於2007年至2009年赴日學習工作,2015年至今再次長期赴日工作。精通應用Java、PHP進行Web框架的設計開發,並且有Oracle、Teradata、MySQL、NoSQL等多種數據庫的設計開發經驗。樂於品味生活細微的點滴,熱衷於品嘗和製作美食。譯有《SQL基礎教程》等。
羅勇(譯者)
從事對日軟件設計和研發工作十餘年,曾多次赴日學習工作,目前就職於日本某大型企業。癡迷於技術和框架的研究,多次參與項目的需求分析、概要設計,精通多語言的Web框架和數據庫的設計開發。業餘愛好足球,和傢人旅行。譯有《SQL基礎教程》《NoSQL數據庫入門》《明解C語言》等。
目錄
第0章 緒論——搭建SQL的學習環境 1
0-1 PostgreSQL的安裝和連接設置 3
安裝步驟 3
修改設置文件 7
0-2 通過PostgreSQL執行SQL語句 9
連接PostgreSQL(登錄) 9
執行SQL語句 10
創建學習用的數據庫 11
連接學習用的數據庫(登錄) 12
第1章 數據庫和SQL 13
1-1 數據庫是什麼 15
我們身邊的數據庫 15
為什麼DBMS那麼重要 16
DBMS的種類 18
1-2 數據庫的結構 20
RDBMS的常見係統結構 20
錶的結構 22
1-3 SQL概要 25
標準SQL 25
SQL語句及其種類 26
SQL的基本書寫規則 27
1-4 錶的創建 30
錶的內容的創建 30
數據庫的創建(CREATE DATABASE語句) 31
錶的創建(CREATE TABLE語句) 31
命名規則 33
數據類型的指定 34
約束的設置 35
1-5 錶的刪除和更新 37
錶的刪除(DROP TABLE語句) 37
錶定義的更新(ALTER TABLE語句) 38
嚮Product錶中插入數據 39
練習題 42
第2章 查詢基礎 43
2-1 SELECT語句基礎 45
列的查詢 45
查詢齣錶中所有的列 47
為列設定彆名 48
常數的查詢 50
從結果中刪除重復行 50
根據WHERE語句來選擇記錄 53
注釋的書寫方法 55
2-2 算術運算符和比較運算符 57
算術運算符 57
需要注意NULL 58
比較運算符 60
對字符串使用不等號時的注意事項 62
不能對NULL使用比較運算符 65
2-3 邏輯運算符 68
NOT運算符 68
AND運算符和OR運算符 70
通過括號強化處理 72
邏輯運算符和真值 74
含有NULL時的真值 76
練習題 78
第3章 聚閤與排序 79
3-1 對錶進行聚閤查詢 81
聚閤函數 81
計算錶中數據的行數 82
計算NULL之外的數據的行數 83
計算閤計值 84
計算平均值 86
計算最大值和最小值 87
使用聚閤函數刪除重復值(關鍵字DISTINCT) 89
3-2 對錶進行分組 91
GROUP BY子句 91
聚閤鍵中包含NULL的情況 93
使用WHERE子句時GROUP BY的執行結果 94
與聚閤函數和GROUP BY子句有關的常見錯誤 96
3-3 為聚閤結果指定條件 101
HAVING子句 101
HAVING子句的構成要素 104
相對於HAVING子句,更適閤寫在WHERE子句中的條件 105
3-4 對查詢結果進行排序 108
ORDER BY子句 108
指定升序或降序 110
指定多個排序鍵 111
NULL的順序 111
在排序鍵中使用顯示用的彆名 112
ORDER BY子句中可以使用的列 114
不要使用列編號 114
練習題 116
第4章 數據更新 117
4-1 數據的插入(INSERT語句的使用方法) 119
什麼是INSERT 119
INSERT語句的基本語法 120
列清單的省略 123
插入NULL 123
插入默認值 124
從其他錶中復製數據 126
4-2 數據的刪除(DELETE語句的使用方法) 129
DROP TABLE語句和DELETE語句 129
DELETE語句的基本語法 129
指定刪除對象的DELETE語句(搜索型DELETE) 130
4-3 數據的更新(UPDATE語句的使用方法) 133
UPDATE語句的基本語法 133
指定條件的UPDATE語句(搜索型UPDATE) 134
使用NULL進行更新 135
多列更新 136
4-4 事務 138
什麼是事務 138
創建事務 139
ACID特性 144
練習題 145
第5章 復雜查詢 147
5-1 視圖 149
視圖和錶 149
創建視圖的方法 151
視圖的限製① ——定義視圖時不能使用ORDER BY子句 154
視圖的限製② ——對視圖進行更新 155
刪除視圖 159
5-2 子查詢 160
子查詢和視圖 160
子查詢的名稱 163
標量子查詢 163
標量子查詢的書寫位置 166
使用標量子查詢時的注意事項 167
5-3 關聯子查詢 168
普通的子查詢和關聯子查詢的區彆 168
關聯子查詢也是用來對集閤進行切分的 171
結閤條件一定要寫在子查詢中 172
練習題 173
第6章 函數、謂詞、CASE錶達式 175
6-1 各種各樣的函數 177
函數的種類 177
算術函數 178
字符串函數 182
日期函數 190
轉換函數 194
6-2 謂詞 198
什麼是謂詞 198
LIKE謂詞——字符串的部分一緻查詢 198
BETWEEN謂詞——範圍查詢 202
IS NULL、IS NOT NULL——判斷是否為NULL 203
IN謂詞——OR的簡便用法 204
使用子查詢作為IN謂詞的參數 205
EXIST謂詞 210
6-3 CASE錶達式 214
什麼是CASE錶達式 214
CASE錶達式的語法 214
CASE錶達式的使用方法 215
練習題 221
第7章 集閤運算 223
7-1 錶的加減法 225
什麼是集閤運算 225
錶的加法——UNION 225
集閤運算的注意事項 228
包含重復行的集閤運算——ALL選項 229
選取錶中公共部分——INTERSECT 230
記錄的減法——EXCEPT 231
7-2 聯結(以列為單位對錶進行聯結) 234
什麼是聯結 234
內聯結——INNER JOIN 235
外聯結——OUTER JOIN 240
3張以上的錶的聯結 243
交叉聯結——CROSS JOIN 246
聯結的特定語法和過時語法 249
練習題 254
第8章 SQL高級處理 255
8-1 窗口函數 257
什麼是窗口函數 257
窗口函數的語法 258
語法的基本使用方法——使用RANK函數 258
無需指定PARTITION BY 261
專用窗口函數的種類 262
窗口函數的適用範圍 263
作為窗口函數使用的聚閤函數 264
計算移動平均 266
兩個ORDER BY 269
8-2 GROUPING運算符 271
同時得到閤計行 271
ROLLUP——同時得齣閤計和小計 272
GROUPING函數——讓NULL更加容易分辨 277
CUBE——用數據來搭積木 279
GROUPING SETS——取得期望的積木 281
練習題 282
第9章 通過應用程序連接數據庫 283
9-1 數據庫世界和應用程序世界的連接 285
數據庫和應用程序之間的關係 285
驅動——兩個世界之間的橋梁 286
驅動的種類 287
9-2 Java基礎知識 289
第一個程序Hello,World 289
編譯和程序執行 291
常見錯誤 294
9-3 通過Java連接PostgreSQL 298
執行SQL語句的Java程序 298
Java是如何從數據庫中獲取數據的呢 299
執行連接數據庫的程序 301
選取錶中的數據 302
更新錶中的數據 305
小結 307
練習題 307
附錄 練習題答案 308
SQL基礎教程 第2版 epub pdf mobi txt 電子書 下載 2024
SQL基礎教程 第2版 下載 epub mobi pdf txt 電子書