SQL編程思想:基於 5 種主流資料庫代碼實現

SQL編程思想:基於 5 種主流資料庫代碼實現

《SQL編程思想:基於 5 種主流資料庫代碼實現》是2021年電子工業出版社出版的圖書,作者是董旭陽。

基本介紹

  • 中文名:SQL編程思想:基於 5 種主流資料庫代碼實現
  • 作者:董旭陽
  • 類別: 計算機/網路類圖書
  • 出版社:電子工業出版社
  • 出版時間:2021年
  • 頁數:348 頁
  • 定價:89 元 
  • 開本:128 開
  • 裝幀:平裝
  • ISBN:9787121421402
內容簡介,作者簡介,圖書目錄,

內容簡介

本書基於作者十多年的工作經驗和知識分享,全面覆蓋了從SQL基礎查詢到高級分析、從資料庫設計到查詢最佳化等內容,通過循序漸進的方式和簡單易懂的案例分析,透徹講解了每個SQL知識點。本書採用了新的SQL:2019標準,緊跟產業發展趨勢,幫助讀者解鎖前沿的SQL技能,同時提供了5種主流資料庫的實現和差異。後,本書還介紹了新的SQL:2019標準對文檔存儲(JSON)、行模式識別(MATCH_RECOGNIZE)、多維數組(SQL/MDA)以及圖形存儲(SQL/PGQ)的支持。
本書適合需要在日常工作中完成數據處理的IT從業人員,包括SQL初學者、擁有一定基礎的中高級工程師,甚至精通某種資料庫產品的專家閱讀。

作者簡介

董旭陽
資料庫架構師、CSDN部落格專家,畢業於北京航空航天大學,擁有十多年資料庫管理與開發經驗,專注於資料庫領域的知識分享,榮獲Oracle OCP和Redhat RHCE證書。目前在一家全球性的金融公司從事資料庫架構設計工作。

圖書目錄

第1章 一切皆關係
1.1 資料庫
1.1.1 資料庫的發展歷史
1.1.2 資料庫管理系統
1.2 關係型資料庫
1.2.1 數據結構
1.2.2 關係操作
1.2.3 完整性約束
1.3 SQL簡介
1.3.1 SQL的歷史
1.3.2 語法特性
1.3.3 面向集合
1.3.4 標準與實現
1.4 小結
第2章 查詢初體驗
2.1 基本檢索功能
2.1.1 查詢指定欄位
2.1.2 查詢全部欄位
2.1.3 快速查詢信息
2.2 實現數據過濾
2.2.1 簡單過濾條件
2.2.2 空值判斷條件
2.2.3 文本模糊查找
2.2.4 組合過濾條件
2.2.5 排除重複數據
2.3 從無序到有序
2.3.1 基於單個欄位排序
2.3.2 基於多個欄位排序
2.3.3 基於表達式排序
2.3.4 空值的排序位置
2.3.5 中文的排序方式
2.4 限定結果數量
2.4.1 Top-N排行榜
2.4.2 數據分頁顯示
2.5 SQL注釋
2.5.1 單行注釋
2.5.2 多行注釋
2.5.3 特殊注釋
2.6 小結
第3章 邏輯處理功能
3.1 函式和運算
3.1.1 函式概述
3.1.2 數值函式
3.1.3 字元函式
3.1.4 日期函式
3.1.5 轉換函式
3.1.6 案例分析
3.2 使用別名
3.2.1 列別名
3.2.2 表別名
3.3 條件表達式
3.3.1 簡單CASE表達式
3.3.2 搜尋CASE表達式
3.3.3 DECODE函式
3.3.4 IF函式
3.3.5 IIF函式
3.3.6 案例分析
3.4 小結
第4章 數據分組與匯總
4.1 數據匯總
4.1.1 聚合函式
4.1.2 使用COUNT函式統計行數
4.1.3 使用AVG函式計算平均值
4.1.4 使用SUM函式計算總和
4.1.5 使用MAX函式返回值
4.1.6 使用MIN函式返回小值
4.1.7 使用LISTAGG函式連線字元串
4.2 數據分組
4.2.1 創建數據分組
4.2.2 進行組內匯總
4.2.3 空值分為一組
4.2.4 常見的語法問題
4.3 再次過濾數據
4.3.1 使用HAVING過濾分組結果
4.3.2 WHERE與HAVING的區別
4.4 多維數據分析
4.4.1 小計、合計與總計
4.4.2 交叉統計報表
4.4.3 自定義維度統計
4.4.4 GROUPING函式
4.5 案例分析
4.5.1 案例一:實現行列轉換
4.5.2 案例二:銷售數據分析
4.6 小結
第5章 空值問題
5.1 三值邏輯
5.2 空值的比較
5.3 空值的分組
5.4 空值的排序
5.5 函式中的空值
5.6 空值處理函式
5.7 空值與約束
5.8 案例分析
5.9 小結
第6章 連線多個表
6.1 連線的語法與類型
6.1.1 使用FROM和WHERE連線兩個表
6.1.2 使用JOIN和ON連線兩個表
6.1.3 連線查詢的類型
6.2 內連線
6.2.1 等值連線
6.2.2 非等值連線
6.3 外連線
6.3.1 左外連線
6.3.2 右外連線
6.3.3 全外連線
6.4 交叉連線
6.5 自然連線
6.6 自連線
6.7 連線多個表
6.8 案例分析
6.8.1 案例一:生成數字序列
6.8.2 案例二:員工考勤記錄
6.9 小結
第7章 嵌套子查詢
7.1 查詢中的查詢
7.2 標量子查詢
7.3 行子查詢
7.4 表子查詢
7.4.1 WHERE條件中的子查詢
7.4.2 ALL、ANY運算符
7.4.3 FROM子句中的子查詢
7.5 關聯子查詢
7.6 橫向子查詢
7.7 EXISTS運算符
7.8 案例分析
7.8.1 案例一:月度銷售冠軍
7.8.2 案例二:銷售增長之星
7.9 小結
第8章 表的集合運算
8.1 集合運算
8.2 交集求同
8.3 並集存異
8.4 差集排他
8.5 集合運算與排序
8.6 運算符的優先權
8.7 案例分析
8.7.1 案例一:優秀員工分析
8.7.2 案例二:用戶許可權管理
8.8 小結
第9章 通用表表達式
9.1 表即變數
9.2 強大的遞歸
9.2.1 遞歸查詢語法
9.2.2 生成數字序列
9.2.3 遍歷層次結構
9.2.4 遞歸的終止
9.3 案例分析:社交網路關係
9.3.1 數據結構
9.3.2 好友關係分析
9.3.3 冬粉關係分析
9.4 小結
第10章 視窗函式
10.1 視窗函式定義
10.1.1 創建數據分區
10.1.2 分區內的排序
10.1.3 指定視窗大小
10.1.4 視窗函式分類
10.2 聚合視窗函式
10.2.1 案例分析:移動平均值
10.2.2 案例分析:累計求和
10.3 排名視窗函式
10.3.1 案例分析:分類排名
10.3.2 案例分析:累積分布
10.4 取值視窗函式
10.4.1 案例分析:環比、同比分析
10.4.2 案例分析:複合增長率
10.5 小結
第11章 數據的增刪改合
11.1 插入數據
11.1.1 插入單行記錄
11.1.2 插入多行記錄
11.1.3 複製數據
11.2 更新數據
11.2.1 單表更新
11.2.2 關聯更新
11.3 刪除數據
11.3.1 單表刪除
11.3.2 關聯刪除
11.3.3 快速刪除全表數據
11.4 合併數據
11.4.1 標準合併語句
11.4.2 非標準合併語句
11.5 外鍵約束與級聯操作
11.5.1 違反外鍵約束
11.5.2 級聯更新和刪除
11.6 小結
第12章 資料庫事務
12.1 什麼是資料庫事務
12.2 事務的ACID屬性
12.3 事務控制語句
12.3.1 開始事務
12.3.2 提交事務
12.3.3 撤銷事務
12.3.4 事務保存點
12.4 並發事務與隔離級別
12.4.1 並發問題
12.4.2 隔離級別
12.5 案例分析
12.6 小結
第13章 資料庫設計與實現
13.1 實體關係圖
13.1.1 實體
13.1.2 屬性
13.1.3 關係
13.1.4 ERD建模
13.2 規範化設計
13.2.1 數據異常
13.2.2 範式
13.2.3 第二範式
13.2.4 第三範式
13.2.5 主鍵與外鍵
13.2.6 反規範化
13.3 數據類型
13.3.1 數字類型
13.3.2 字元串類型
13.3.3 日期時間類型
13.3.4 二進制類型
13.3.5 選擇合適的數據類型
13.4 管理資料庫對象
13.4.1 常見對象
13.4.2 管理資料庫
13.4.3 管理模式
13.4.4 管理數據表
13.5 小結
第14章 索引與性能最佳化
14.1 索引的原理
14.1.1 聚集索引
14.1.2 非聚集索引
14.2 索引的類型
14.2.1 索引與非索引
14.2.2 單列索引與多列索引
14.2.3 升序索引與降序索引
14.2.4 函式索引
14.3 索引的維護
14.3.1 創建索引
14.3.2 查看索引
14.3.3 刪除索引
14.3.4 注意事項
14.4 執行計畫
14.4.1 查詢語句的執行過程
14.4.2 查看SQL語句的執行計畫
14.5 查詢最佳化技巧
14.5.1 創建合適的索引
14.5.2 避免索引失效
14.5.3 只返回需要的結果
14.5.4 最佳化多表連線
14.5.5 儘量避免使用子查詢
14.5.6 最佳化集合操作
14.5.7 不要使用OFFSET實現分頁
14.5.8 記住SQL子句的邏輯執行順序
14.6 小結
第15章 視圖不是表
15.1 視圖概述
15.1.1 什麼是視圖
15.1.2 視圖的優缺點
15.2 管理視圖
15.2.1 創建視圖
15.2.2 視圖中的ORDER BY子句
15.2.3 修改視圖的定義
15.2.4 刪除視圖
15.3 可更新視圖
15.3.1 可更新視圖的限制
15.3.2 通過視圖修改數據
15.3.3 限制視圖的操作
15.4 案例分析
15.5 小結
第16章 存儲過程和存儲函式
16.1 存儲過程概述
16.1.1 什麼是存儲過程
16.1.2 存儲過程的優缺點
16.2 管理存儲過程
16.2.1 創建存儲過程
16.2.2 執行存儲過程
16.2.3 修改存儲過程
16.2.4 刪除存儲過程
16.3 使用存儲函式
16.3.1 存儲函式和存儲過程的區別
16.3.2 創建存儲函式
16.3.3 調用存儲函式
16.3.4 修改存儲函式
16.3.5 刪除存儲函式
16.4 案例分析
16.5 小結
第17章 一觸即發的觸發器
17.1 觸發器概述
17.1.1 觸發器的原理
17.1.2 觸發器的分類
17.2 管理觸發器
17.2.1 創建觸發器
17.2.2 驗證觸發器
17.2.3 查看觸發器
17.2.4 啟用、禁用觸發器
17.2.5 刪除觸發器
17.3 案例分析
17.3.1 案例一:禁止DDL操作
17.3.2 案例二:替換視圖的DML操作
17.4 小結
第18章 超越關係
18.1 文檔存儲
18.1.1 JSON數據類型
18.1.2 將JSON對象表示成SQL數據
18.1.3 將SQL數據表示成JSON對象
18.2 複雜事件
18.2.1 行模式識別
18.2.2 分析股票曲線圖
18.2.3 監控可疑的銀行轉賬
18.3 多維數組
18.3.1 數組的存儲和訪問
18.3.2 數組處理函式
18.4 圖形存儲
18.4.1 圖形查詢語言與SQL/PGQ
18.4.2 社交網路關係分析
18.5 小結
附錄A SQL常用語句速查表

相關詞條

熱門詞條

聯絡我們