会员   密码 您忘记密码了吗?
1,583,573 本书已上架      购物流程 | 常见问题 | 联系我们 | 关于我们 | 用户协议

有店 App


当前分类

商品分类

浏览历史

当前位置: 首页 > 简体书 > SQL經典實例(第2版)
SQL經典實例(第2版)
上一张
下一张
prev next

SQL經典實例(第2版)

作者: (美)安東尼·莫利納羅,(澳)羅伯特·德·格拉夫
出版社: 人民郵電出版社
出版日期: 2021-12-01
商品库存: 点击查询库存
以上库存为海外库存属流动性。
可选择“空运”或“海运”配送,空运费每件商品是RM14。
配送时间:空运约8~12个工作天,海运约30个工作天。
(以上预计配送时间不包括出版社库存不足需调货及尚未出版的新品)
定价:   NT839.00
市场价格: RM150.83
本店售价: RM134.24
购买数量:
collect Add to cart Add booking
详细介绍 商品属性 商品标记
內容簡介

本書詳細介紹了Oracle、MySQL、PostgreSQL、SQL Server、DB2等各種關聯式資料庫的SQL查詢技巧和一些基礎的SQL查詢語句,並且通過短小精悍的實例,不僅講解了如何插入、更新和刪除資料,還介紹了如何檢索記錄、為查詢結果排序、同時操作多張資料庫表、查詢中繼資料、處理涉及字串和數值的操作、根據時間資料和日期資料進行運算、執行層次查詢和區間查詢等。隨著多種SQL實現大量採用視窗函數,本書第2版針對相關實例做了優化,還新增了為資料科學家和演算法工程師量身定制的實例。


作者介紹

安東尼·莫利納羅(Anthony Molinaro)

美國強生公司資料科學家,專精SQL技術,擅長解決棘手的SQL問題,對關係理論有深入研究。


羅伯特·德·格拉夫(Robert de Graaf)

RightShip公司數據科學家,負責為公司設計和開發用於預測性分析的算法,另著有Managing Your Data Science Projects。


目錄

前言xi

第1章 檢索記錄 1
1.1 檢索表中所有的行和列 1
1.2 從表中檢索部分行 2
1.3 查找滿足多個條件的行 2
1.4 從表中檢索部分列 3
1.5 提供有意義的列名 3
1.6 在WHERE子句中使用別名來引用列 4
1.7 拼接列值 5
1.8 在SELECT語句中使用條件邏輯 6
1.9 限制返回的行數 7
1.10 從表中隨機返回n行數據 8
1.11 查找NULL值 9
1.12 將NULL轉換為實際值 10
1.13 模式查找 10
1.14 小結 11

第2章 查詢結果排序 12
2.1 按指定順序返回查詢結果 12
2.2 按多欄位排序 13
2.3 按子串排序 14
2.4 對同時包含字母和數位的數據進行排序 15
2.5 排序時處理NULL值 17
2.6 根據依賴於數據的鍵進行排序 23
2.7 小結 24

第3章 使用多張表 25
3.1 合併多個行集 25
3.2 合併相關的行 27
3.3 查找兩張表中相同的行 28
3.4 從一張表中檢索沒有出現在另一張表中的值 30
3.5 從一張表中檢索在另一張表中沒有對應行的行 34
3.6 在查詢中添加連接並確保不影響其他連接 36
3.7 判斷兩張表包含的數據是否相同 38
3.8 識別並避免笛卡兒積 44
3.9 同時使用連接和聚合 45
3.10 同時使用外連接和聚合 49
3.11 返回多張表中不匹配的行 51
3.12 在運算和比較中使用NULL 55
3.13 小結 55

第4章 插入、更新和刪除 56
4.1 插入新記錄 56
4.2 插入預設值 57
4.3 用NULL覆蓋預設值 58
4.4 將一張表中的行複製到另一張表中 59
4.5 複製錶定義 59
4.6 同時插入多張表 60
4.7 禁止在特定列中插入值 62
4.8 修改表中的記錄 63
4.9 僅當存在匹配行時才更新 64
4.10 使用來自另一張表中的值進行更新 64
4.11 合併記錄 67
4.12 刪除表中的所有記錄 69
4.13 刪除特定記錄 69
4.14 刪除單條記錄 70
4.15 刪除違反參考完整性的記錄 70
4.16 刪除重複記錄 71
4.17 刪除在另一張表中引用了的記錄 72
4.18 小結 73

第5章 元數據查詢 74
5.1 列出模式中的所有表 74
5.2 列出表中的列 75
5.3 列出表的索引列 76
5.4 列出表的約束 77
5.5 列出沒有相應索引的外鍵 78
5.6 使用SQL生成SQL 81
5.7 描述Oracle數據庫中的數據字典視圖 83
5.8 小結 84

第6章 處理字串 85
6.1 走查字串 85
6.2 在字串字面量中嵌入引號 87
6.3 計算字串中特定字元出現的次數 88
6.4 將不想要的字元從字串中刪除 89
6.5 將數位數據和字元數據分開 90
6.6 判斷字串是否只包含字母和數位 94
6.7 提取姓名中的首字母 98
6.8 根據部分字串排序 101
6.9 根據字串中的數位排序 103
6.10 根據表中的行創建分隔列表 108
6.11 將分隔數據轉換為多值IN列表 111
6.12 按字母順序排列字串中的字元 116
6.13 識別可視為數位的字串 120
6.14 提取第n個子串 125
6.15 拆分IP地址 131
6.16 根據發音比較字串 133
6.17 查找與模式不匹配的文本 134
6.18 小結 137

第7章 處理數位 138
7.1 計算平均值 138
7.2 找出最大列值和最小列值 140
7.3 計算列值總和 142
7.4 計算表中的行數 143
7.5 計算非NULL列值數 145
7.6 生成移動總計 145
7.7 生成移動總積 147
7.8 平滑值序列 148
7.9 計算眾數 149
7.10 計算中值 151
7.11 計算總計占比 153
7.12 聚合值可為NULL的列 155
7.13 計算剔除最高值和最低值後的平均值 156
7.14 將由字母和數位組成的字串轉換為數位 158
7.15 修改移動總計中的值 60
7.16 使用絕對中位差找出異常值 161
7.17 使用本福特法則查找反常數據 164
7.18 小結 166

第8章 日期算數運算 167
8.1 加上或減去若干天、若干月或若干年 167
8.2 確定兩個日期相差多少天 169
8.3 確定兩個日期之間有多少個工作日 171
8.4 確定兩個日期相隔多少個月或多少年 175
8.5 確定兩個日期相隔多少秒、多少分鐘或多少小時 178
8.6 計算一年中有多少個工作日 179
8.7 確定目前記錄和下一條記錄存儲的日期相隔多少天 190
8.8 小結 194

第9章 操作日期 195
9.1 判斷特定的年份是否是閏年 195
9.2 確定特定年份有多少天 201
9.3 提取日期的各個組成部分 203
9.4 找出一個月的第 一天和最後一天 205
9.5 找出一年中所有的星期n 207
9.6 找出一個月中第 一個和最後一個星期n 213
9.7 創建日曆 219
9.8 列出一年中各個季度的第 一天和最後一天 230
9.9 確定給定季度的第 一天和最後一天 234
9.10 補全缺失的日期 240
9.11 根據日期的特定部分進行查找 247
9.12 根據日期的特定部分對記錄進行比較 248
9.13 找出重疊的日期範圍 251
9.14 小結 256

第10章 涉及區間的查詢 257
10.1 找出一系列連續的值 257
10.2 找出同一個分組或分區中相鄰行的差 260
10.3 找出連續值構成的區間的起點和終點 265
10.4 填補值區間空隙 268
10.5 生成連續的數字值 271
10.6 小結 274

第11章 高級查找 275
11.1 在結果集中翻頁 275
11.2 在表中跳過n行數據 277
11.3 在外連接中使用OR邏輯 279
11.4 確定哪些行是互逆的 280
11.5 返回前n條記錄 282
11.6 找出值最高和最低的記錄 283
11.7 查看後面的行 284
11.8 平移行值 286
11.9 結果排名 288
11.10 消除重複行 289
11.11 查找馬值 291
11.12 生成簡單預測 296
11.13 小結 303

第12章 報表製作和整形 304
12.1 將結果集轉置為一行 304
12.2 將結果集轉置為多行 306
12.3 對結果集進行逆轉置 311
12.4 將結果集逆轉置為一列 312
12.5 消除結果集中的重複值 315
12.6 轉置結果集以簡化涉及多行的計算 317
12.7 創建尺寸固定的數據桶 319
12.8 創建預定數量的桶 321
12.9 創建水準長條圖 322
12.10 創建垂直長條圖 323
12.11 返回未被用作分組依據的列 325
12.12 計算簡單的小計 327
12.13 計算各種可能的小計 331
12.14 標出非小計行 340
12.15 使用CASE運算式來標識行 341
12.16 創建疏鬆陣列 343
12.17 按時間分組 344
12.18 同時對不同的分組/分區進行聚合 348
12.19 聚合移動值區間 349
12.20 轉置包含小計的結果集 356
12.21 小結 360

第13章 分層查詢 361
13.1 呈現父子關係 362
13.2 呈現子–父–祖父關係 365
13.3 創建基於表的分層視圖 369
13.4 找出給定父行的所有子行 373
13.5 確定葉子節點、分支節點和根節點 374
13.6 小結 381

第14章 雜項 382
14.1 使用SQL Server運算子PIVOT創建交叉報表 382
14.2 使用SQL Server運算子UNPIVOT逆轉置交叉報表 384
14.3 使用Oracle子句MODEL轉置結果集 386
14.4 從不固定的位置提取子串 389
14.5 確定特定年份有多少天(另一種Oracle解決方案) 391
14.6 找出同時包含字母和數位的字串 393
14.7 在Oracle中將整數轉換為其二進位表示 395
14.8 對經過排名的結果集進行轉置 397
14.9 給經過兩次轉置的結果集添加列標題 401
14.10 在Oracle中將標量子查詢轉換為複合子查詢 412
14.11 將序列化數據轉換為行 414
14.12 計算占總計的百分比 418
14.13 確定編組是否包含指定的值 419
14.14 小結 422

附錄A 溫習視窗函數 423
附錄B 通用表運算式 446