SQL 語言從入門到精通

明日科技

  • 出版商: 清華大學
  • 出版日期: 2023-06-01
  • 定價: $539
  • 售價: 8.5$458
  • 語言: 簡體中文
  • 頁數: 307
  • 裝訂: 平裝
  • ISBN: 7302634610
  • ISBN-13: 9787302634614
  • 相關分類: SQL
  • 下單後立即進貨 (約2週~3週)

  • SQL 語言從入門到精通-preview-1
  • SQL 語言從入門到精通-preview-2
  • SQL 語言從入門到精通-preview-3
SQL 語言從入門到精通-preview-1

買這商品的人也買了...

商品描述

《SQL語言從入門到精通》從初學者角度出發,通過通俗易懂的語言、豐富多彩的實例,詳細介紹了在開發中使用SQL語言必須掌握的技術。全書分為3篇共18章,內容包括SQL語言基礎、SQL查詢基礎、復雜查詢、數據排序、SQL函數的使用、分組統計、子查詢、多表查詢、添加數據、修改和刪除數據、視圖、存儲過程、觸發器、游標、索引、事務、管理數據庫與數據表、數據庫安全。所有知識都結合具體實例進行介紹,涉及的程序代碼給出了詳細的註釋,讀者可以輕松領會SQL語言的精髓,快速提高開發技能。

目錄大綱

目  錄

 

第1篇 SQL語言入門

 

第1章  SQL語言基礎 2

 視頻講解:28分鐘

1.1  SQL語言概述 2

1.1.1  SQL概述 2

1.1.2  SQL語言的組成 3

1.1.3  SQL語句結構 4

1.1.4  SQL語句分類 5

1.2  數據類型 5

1.2.1  整數數據類型 5

1.2.2  浮點數據類型 6

1.2.3  字符數據類型 7

1.2.4  日期和時間數據類型 8

1.2.5  貨幣數據類型 9

1.2.6  二進制數據類型 9

1.2.7  文本和圖像數據類型 9

1.2.8  用戶自定義數據類型 10

1.3  常量 11

1.3.1  數值常量 11

1.3.2  字符串常量 12

1.3.3  日期和時間常量 12

1.4  變量 12

1.4.1  局部變量 12

1.4.2  全局變量 14

1.5  運算符 16

1.5.1  算術運算符 16

1.5.2  賦值運算符 17

1.5.3  邏輯運算符 18

1.6  實踐與練習 19

 

第2章  SQL查詢基礎 20

 視頻講解:48分鐘

2.1  簡單查詢 20

2.1.1  SELECT語句基本結構 21

2.1.2  單列查詢 21

2.1.3  多列查詢 22

2.1.4  查詢所有的列 22

2.1.5  別名的應用 23

2.1.6  使用TOP查詢前若乾行 25

2.1.7  刪除重復列 26

2.2  計算列查詢 28

2.2.1  連接列值 28

2.2.2  查詢中使用計算列 28

2.2.3  查詢中使用表達式 29

2.3  條件查詢 30

2.3.1  WHERE子句 31

2.3.2  使用“=”查詢數據 31

2.3.3  使用“>”查詢數據 31

2.3.4  使用“<”查詢數據 32

2.3.5  使用“>=”查詢數據 32

2.3.6  使用“<=”查詢數據 33

2.3.7  使用“!>”查詢數據 33

2.3.8  使用“!<”查詢數據 33

2.3.9  使用“!=”和“<>”查詢數據 34

2.4  範圍查詢 34

2.4.1  查詢兩數之間的數據 35

2.4.2  查詢兩個日期之間的數據 35

 

 

2.4.3  在BETWEEN中使用日期函數 35

2.4.4  查詢不在兩數之間的數據 36

2.5  邏輯查詢 37

2.5.1  使用AND運算符 37

2.5.2  使用OR運算符 37

2.5.3  使用NOT運算符 38

2.5.4  使用OR、AND和NOT運算符 39

2.6  實踐與練習 39

第3章  復雜查詢 40

 視頻講解:73分鐘

3.1  模糊查詢 40

3.1.1  LIKE謂詞 40

3.1.2  “%”通配符的使用 41

3.1.3  “_”通配符的使用 42

3.1.4  “[ ]”通配符的使用 42

3.1.5  “[^]”通配符的使用 43

3.1.6  ESCAPE轉義字符 44

3.2  IN運算符 44

3.2.1  使用IN查詢數據 45

3.2.2  在IN中使用算術表達式 45

3.2.3  在IN中使用列名 46

3.2.4  使用NOT IN查詢數據 46

3.2.5  使用TOP和NOT IN查詢數據 47

3.3  行查詢 48

3.3.1  隨機查詢 48

3.3.2  結果集中添加行號 48

3.3.3  隔行查詢 49

3.3.4  分頁查詢 50

3.4  空值判斷 51

3.4.1  查詢空值 51

3.4.2  查詢非空值 52

3.4.3  對空值進行處理 52

3.5  對結果集操作 53

3.5.1  利用結果集創建永久表 53

3.5.2  利用結果集創建臨時表 54

3.6  復雜條件查詢 54

3.6.1  查詢表中的第n行數據 54

3.6.2  查詢考試成績最高的分數 55

3.6.3  查詢各部門人數 56

3.6.4  查詢各部門基本工資最低的員工 56

3.7  實踐與練習 57

第4章  數據排序 58

 視頻講解:63分鐘

4.1  數值數據排序 58

4.1.1  按升序和降序排列 58

4.1.2  按列別名排序 60

4.1.3  在ORDER BY子句中使用表達式 61

4.1.4  按空值排序 61

4.1.5  對多列排序 64

4.1.6  對數據表中的指定行數進行排序 65

4.2  字符串排序 68

4.2.1  按字符串中的子串排序 68

4.2.2  按字符串中的數值排序 71

4.3  漢字排序 72

4.3.1  漢字排序規則簡介 72

4.3.2  按筆畫排序 73

4.3.3  按拼音排序 73

4.4  按列的編號排序 74

4.5  隨機排序 75

4.6  實踐與練習 75

第5章  SQL函數的使用 76

 視頻講解:59分鐘

5.1  聚合函數 76

5.1.1  聚合函數概述 76

5.1.2  SUM(求和)函數 77

5.1.3  AVG(平均值)函數 77

5.1.4  MAX(最大值)函數和MIN(最小值)

      函數 78

5.1.5  COUNT(統計)函數 80

5.1.6  DISTINCT(取不重復記錄)函數 80

5.2  數學函數 81

5.2.1  數學函數概述 81

5.2.2  ABS(絕對值)函數 82

5.2.3  PI(圓周率)函數 82

5.2.4  POWER(乘方)函數 82

5.2.5  RAND(隨機浮點數)函數 83

5.2.6  ROUND(四捨五入)函數 83

5.2.7  SQUARE(平方)函數和SQRT(平

方根)函數 84

5.2.8  三角函數 85

5.3  字符串函數 86

5.3.1  字符串函數概述 87

5.3.2  ASCII(獲取ASCII碼)函數 87

5.3.3  CHARINDEX(返回字符串的起始

      位置)函數 89

5.3.4  LEFT(取左邊指定個數的字符)函數 89

5.3.5  RIGHT(取右邊指定個數的字符)函數 90

5.3.6  LEN(返回字符個數)函數 91

5.3.7  REPLACE(替換字符串)函數 91

5.3.8  REVERSE(反轉字符串)函數 92

5.3.9  STR函數 92

5.3.10  SUBSTRING(取字符串)函數 93

5.4  日期和時間函數 94

5.4.1  日期和時間函數概述 94

5.4.2  GETDATE(返回當前系統日期和

      時間)函數 94

5.4.3  DAY(返回指定日期的天)函數 94

5.4.4  MONTH(返回指定日期的月)函數 95

5.4.5  YEAR(返回指定日期的年)函數 95

5.4.6  DATEDIFF(返回兩個日期之間的

      間隔)函數 96

5.4.7  DATEADD(添加日期時間)函數 97

5.5  實踐與練習 98

 

第2篇 SQL語言進階

 

第6章  分組統計 100

 視頻講解:6分鐘

6.1  GROUP BY子句 100

6.1.1  使用GROUP BY子句創建分組 100

6.1.2  使用GROUP BY子句創建多列分組 101

6.1.3  對表達式進行分組統計 102

6.1.4  在SQL查詢語句中GROUP BY子句的

      NULL值處理 103

6.1.5  對統計結果排序 103

6.1.6  在WHERE子句中使用GROUP BY

子句 104

6.1.7  GROUP BY子句的特殊用法 105

6.2  HAVING子句 105

6.3  實踐與練習 107

第7章  子查詢 108

 視頻講解:70分鐘

7.1  簡單子查詢 108

7.1.1  SELECT 列表中的子查詢 109

7.1.2  多列子查詢 110

7.1.3  比較子查詢 111

7.1.4  在子查詢中使用聚合函數 112

7.2  多行子查詢 112

7.2.1  使用IN操作符的多行子查詢 112

7.2.2  使用NOT IN子查詢實現差集運算 113

7.2.3  通過量詞實現多行子查詢 114

7.2.4  使用ALL操作符的多行子查詢 115

7.2.5  使用ANY/SOME操作符的多行子查詢 115

7.2.6  FROM子句中的子查詢 116

7.3  相關子查詢 116

7.3.1  使用IN引入相關子查詢 117

7.3.2  使用NOT IN引入相關子查詢 117

7.3.3  在HAVING子句中使用相關子查詢 118

7.4  嵌套子查詢 119

7.4.1  簡單的嵌套子查詢 119

7.4.2  復雜的嵌套查詢 120

7.4.3  在UPDATE中使用子查詢 121

7.4.4  在INSERT中使用子查詢 122

7.4.5  在DELETE中使用子查詢 123

7.5  實踐與練習 123

第8章  多表查詢 124

 視頻講解:43分鐘

8.1  多表連接 124

8.1.1  笛卡兒乘積 124

8.1.2  通過WHERE子句連接多表 126

8.1.3  通過FROM子句連接多表 126

8.1.4  在多表連接中設置連接條件 127

8.1.5  在多表連接中返回某個表的所有列 127

8.1.6  通過設置表別名提高SQL可讀性 128

8.2  內連接 129

8.2.1  等值連接 129

8.2.2  不等值連接 129

8.2.3  自然連接 130

8.2.4  復雜的內連接查詢 130

8.3  外連接 131

8.3.1  左外連接 131

8.3.2  右外連接 132

8.3.3  全外連接 132

8.3.4  通過外連接進行多表聯合查詢 133

8.4  其他連接 134

8.4.1  自連接 134

8.4.2  交叉連接 134

8.5  實踐與練習 135

第9章  添加數據 136

 視頻講解:39分鐘

9.1  插入單行記錄 136

9.1.1  INSERT語句基本語法 137

9.1.2  插入整行數據 137

9.1.3  插入NULL值 138

9.1.4  插入唯一值 138

9.1.5  插入特定字段數據 139

9.1.6  插入默認值 140

9.1.7  插入日期數據 141

9.1.8  通過視圖插入行 141

9.1.9  向表中插入記錄時任意指定的不同的

      字段順序 142

9.1.10  插入的數據類型值與實際中的數據類型

       不匹配時,系統將輸出 錯誤提示 143

9.1.11  向表中插入字段的個數少於表中實際

       字段的個數,有時會出錯 143

9.2  插入多行記錄 144

9.2.1  插入多行記錄的語法格式 144

9.2.2  使用VALUES關鍵字插入多行數據 144

9.2.3  使用SELECT語句插入數據 145

9.3  表中數據的復制 146

9.3.1  基本語法 146

9.3.2  表中數據的復制應用 146

9.4  實踐與練習 147

第10章  修改和刪除數據 148

 視頻講解:64分鐘

10.1  UPDATE語句的基本語法 148

10.2  使用UPDATE語句更新列值 150

10.3  利用子查詢更新行中的值 151

10.3.1  語法格式 151

10.3.2  利用子查詢返回的行數不多於一行

      (只返回一個值) 152

10.3.3  利用子查詢返回多行(返回多個值) 153

10.3.4  利用內連接查詢來更新數據表中的信息 153

10.4  依據外表值更新數據 154

10.5  分步更新表中的數據 155

10.6  修改指定字段的數據值 156

10.6.1  修改指定datetime類型字段內的

       數據 156

10.6.2  修改指定int類型字段內的數據 156

10.6.3  修改指定varchar類型字段內的數據 157

10.6.4  修改指定float類型字段內的數據 157

10.7  使用DELETE語句刪除數據 158

10.7.1  使用DELETE語句刪除所有數據

      (省略WHERE子句) 158

10.7.2  使用DELETE語句刪除多行數據 159

10.7.3  使用DELETE語句刪除單行數據

      (WHERE子句不能省) 159

10.8  刪除重復行 160

10.8.1  刪除完全重復行 160

10.8.2  刪除部分重復行 161

10.9  使用TRUNCATE TABLE語句

刪除數據 162

10.10  使用DELETE語句中帶有的TOP

       子句 162

10.11  實踐與練習 163

 

第3篇 SQL高級應用

 

第11章  視圖 166

 視頻講解:14分鐘

11.1  視圖概述 166

11.2  視圖創建 167

11.3  視圖重命名 169

11.4  視圖修改 169

11.5  視圖定義信息查詢 171

11.6  視圖刪除 172

11.7  實踐與練習 173

第12章  存儲過程 174

 視頻講解:27分鐘

12.1  存儲過程概述 174

12.1.1  存儲過程的概念 174

12.1.2  存儲過程的作用和功能 175

12.1.3  存儲過程的優點 176

12.2  創建存儲過程 177

12.2.1  CREATE PROCEDURE語句 177

12.2.2  創建具有回傳參數的存儲過程 178

12.2.3  使用RETURN語句從存儲過程中

       返回值 180

12.3  管理存儲過程 181

12.3.1  執行存儲過程 182

12.3.2  執行具有回傳參數的存儲過程 183

12.3.3  查看存儲過程 184

12.3.4  修改存儲過程 185

12.3.5  刪除存儲過程 186

12.3.6  存儲過程的重新編譯 187

12.4  實踐與練習 188

第13章  觸發器 189

 視頻講解:31分鐘

13.1  觸發器概述 189

13.1.1  觸發器的概念 189

13.1.2  觸發器的優點 189

13.1.3  觸發器的種類 190

13.2  創建觸發器 191

13.2.1  創建簡單的觸發器 191

13.2.2  創建具有觸發條件的觸發器 195

13.2.3  創建INSTEAD OF觸發器 197

13.2.4  創建列級觸發器 199

13.3  管理觸發器 201

13.3.1  查看觸發器 201

13.3.2  修改觸發器 201

13.3.3  重命名觸發器 202

13.3.4  禁用和啟用觸發器 203

13.3.5  刪除觸發器 204

13.4  應用觸發器 204

13.4.1  應用觸發器添加數據 204

13.4.2  應用觸發器修改數據 205

13.4.3  應用觸發器刪除數據 207

13.5  實踐與練習 207

第14章  游標 208

 視頻講解:59分鐘

14.1  游標概述 208

14.1.1  游標的實現 209

14.1.2  游標的類型 209

14.2  創建游標 210

14.2.1  聲明游標 210

14.2.2  打開游標 211

14.2.3  讀取游標中數據 212

14.2.4  嵌套游標 213

14.2.5  關閉並釋放游標 214

14.3  游標屬性 216

14.3.1  獲取游標狀態 216

14.3.2  獲取游標行數 217

14.4  游標操作 218

14.4.1  基於游標定位修改數據 218

14.4.2  基於游標定位刪除數據 220

14.4.3  在游標中包含計算列 220

14.4.4  將游標中的數據進行排序顯示 221

14.5  動態游標 222

14.5.1  聲明游標變量 222

14.5.2  使用游標變量 223

14.6  實踐與練習 223

第15章  索引 224

 視頻講解:23分鐘

15.1  索引概述 224

15.1.1  索引的基本概念 224

15.1.2  索引的分類 226

15.1.3  創建索引的原則 226

15.2  創建索引 227

15.2.1  創建簡單的非簇索引 227

15.2.2  創建多字段非簇索引 229

15.2.3  創建唯一索引 230

15.2.4  創建簇索引 231

15.3  維護索引 232

15.3.1  查看是否需要維護索引 232

15.3.2  重構索引 233

15.3.3  整理索引碎片 234

15.3.4  刪除索引 235

15.4  實踐與練習 236

第16章  事務 237

 視頻講解:26分鐘

16.1  事務的概念 237

16.2  顯式事務與隱式事務 238

16.2.1  顯式事務 239

16.2.2  隱式事務 240

16.2.3  API中控制隱式事務 240

16.2.4  事務的COMMIT和ROLLBACK 241

16.3  使用事務 241

16.3.1  開始事務 241

16.3.2  結束事務 242

16.3.3  回滾事務 242

16.3.4  事務的工作機制 243

16.3.5  自動提交事務 244

16.3.6  事務的並發問題 244

16.3.7  事務的隔離級別 245

16.4  鎖 248

16.4.1  鎖機制 248

16.4.2  鎖模式 248

16.4.3  鎖的粒度 250

16.4.4  查看鎖 251

16.4.5  死鎖 251

16.5  實踐與練習 252

第17章  管理數據庫與數據表 253

 視頻講解:19分鐘

17.1  數據庫管理 253

17.1.1  創建數據庫 253

17.1.2  修改數據庫 256

17.1.3  刪除數據庫 259

17.2  數據表管理 260

17.2.1  創建數據表 260

17.2.2  查看數據表 265

17.2.3  修改數據表 267

17.2.4  刪除數據表 271

17.3  實踐與練習 272

第18章  數據庫安全 273

 視頻講解:30分鐘

18.1  數據庫安全概述 273

18.2  數據庫登錄管理 273

18.2.1  選擇驗證模式 274

18.2.2  管理登錄賬號 274

18.2.3  更改登錄驗證方式 279

18.2.4  設置密碼 280

18.3  權限管理 281

18.4  實踐與練習 282

附錄A  安裝SQL Server數據庫 283

附錄B  安裝Oracle數據庫 293

附錄C  安裝MySQL數據庫 296