《SQL应用及误区分析》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:张振磊编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2018
  • ISBN:9787111597308
  • 页数:238 页
图书介绍:本书共分为14章,由易到难,逐步讲解SQL语句的应用。其中,第1章介绍了SQL概述;第2章简单介绍了SCOTT模式;第3~6章分别介绍了SQL最常用的增删改查知识;第7~12章分别介绍了常用的数据库对象,包含了视图、索引、约束、触发器、存储过程和函数;第13章介绍了非常重要的事务知识;第14章对SQL SERVER数据库和Oracle数据库中存在的一些差异进行了举例比较。

第1章 SQL概述 1

1.1 DML 1

1.2 DDL 1

1.3 TCL 2

1.4 DCL 2

1.5 总结 2

第2章 SCOTT模式 4

2.1 DEPT 5

2.2 EMP 7

2.3 SALGRADE 10

2.4 BONUS 11

2.5 总结 12

第3章 新增语句 13

3.1 单行新增 13

3.1.1 values单行新增 14

3.1.2 select单行新增 16

3.2 建表新增 18

3.3 查询结果新增 20

3.4 常见误区分析 21

3.4.1 历史数据转移引起的问题 21

3.4.2 values单行新增不要省略列名 24

3.5 总结 25

第4章 删除语句 26

4.1 delete语法 26

4.1.1 直接删除表中记录 26

4.1.2 基于其他表删除表中记录 27

4.2 truncate语法 28

4.3 误删数据恢复 29

4.4 误删对象恢复 30

4.5 常见误区分析 31

4.5.1 慎用delete 31

4.5.2 画蛇添足 32

4.6 总结 32

第5章 更新语句 33

5.1 update语法 33

5.2 单表更新 33

5.3 表关联更新 35

5.4 常见误区分析 36

5.4.1 注意表关联更新 36

5.4.2 注意数据类型 38

5.5 总结 39

第6章 查询语句 40

6.1 查询语句的语法 40

6.2 where子句中常用的运算符 41

6.2.1 算术运算符 42

6.2.2 逻辑运算符 43

6.2.3 比较运算符 44

6.2.4 优先级 50

6.3 分组 51

6.3.1 分组函数 51

6.3.2 创建组 52

6.4 排序 52

6.5 空值 56

6.6 多表连接 56

6.6.1 交叉连接 57

6.6.2 非等值连接 58

6.6.3 等值连接之内连接 59

6.6.4 等值连接之外连接 60

6.6.5 等值连接之自连接 64

6.6.6 等值连接之自然连接 66

6.7 集合运算 67

6.7.1 并集 67

6.7.2 交集 68

6.7.3 差集 69

6.8 子查询 70

6.8.1 多行单列子查询 70

6.8.2 多行多列子查询 72

6.8.3 单行单列子查询 72

6.8.4 单行多列子查询 73

6.8.5 内联视图 74

6.8.6 关联子查询 74

6.9 别名 76

6.9.1 表别名 77

6.9.2 列别名 77

6.10 常见误区分析 79

6.10.1 count争议 79

6.10.2 null的比较 80

6.10.3 单行子查询返回多行 82

6.10.4 分组函数的嵌套 83

6.10.5 not in 84

6.10.6 with(nolock) 86

6.10.7 with(readpast) 88

6.10.8 max用于字符型属性 89

6.11 总结 91

第7章 视图 92

7.1 视图语法 92

7.1.1 创建语法 92

7.1.2 修改语法 93

7.1.3 删除语法 93

7.2 视图举例 94

7.3 视图的作用 95

7.3.1 定制用户数据 95

7.3.2 复杂查询简单化 96

7.4 简单视图 97

7.5 复杂视图 97

7.6 键值保存表 97

7.7 只读视图 98

7.8 with check option 98

7.9 物化视图 101

7.9.1 创建时生成数据选项 101

7.9.2 刷新方式 102

7.9.3 数据刷新的时间 102

7.9.4 物化视图索引 103

7.9.5 物化视图举例 103

7.10 索引视图 106

7.11 常见误区分析 107

7.11.1 单张表组成的视图可以更新 107

7.11.2 多张表组成的视图不能更新 109

7.12 总结 111

第8章 索引 112

8.1 索引语法 113

8.1.1 创建语法 113

8.1.2 删除语法 113

8.2 B-Tree索引 113

8.3 聚集索引 122

8.4 唯一索引 122

8.5 非唯一索引 124

8.6 组合索引 124

8.7 反向键索引 125

8.8 函数索引 125

8.9 索引组织表 127

8.10 常见误区 128

8.10.1 null全表扫描 128

8.10.2 <>比较符引起全表扫描 129

8.10.3 <or>引起全表扫描 131

8.10.4 函数造成全表扫描 131

8.10.5 慎用全表扫描 132

8.10.6 组合索引如何进行索引 133

8.11 总结 135

第9章 约束 136

9.1 约束语法 136

9.1.1 创建语法 136

9.1.2 删除语法 137

9.2 主键约束 137

9.3 外键约束 138

9.4 唯一性约束 141

9.5 非空约束 142

9.6 check约束 143

9.7 默认值约束 144

9.8 常见误区分析 146

9.8.1 是否有必要使用外键 146

9.8.2 程序校验代替检查约束 146

9.9 总结 148

第10章 触发器 149

10.1 触发器语法 149

10.1.1 创建语法 149

10.1.2 修改语法 150

10.1.3 删除语法 151

10.2 变异表 151

10.3 触发器内置对象 151

10.4 行级触发器 151

10.5 语句级触发器 153

10.6 触发时间 156

10.7 instead of触发器 160

10.8 常见误区分析 162

10.8.1 读变异表 162

10.8.2 触发器死循环 162

10.9 总结 164

第11章 存储过程 165

11.1 存储过程语法 165

11.1.1 创建语法 166

11.1.2 修改语法 166

11.1.3 删除语法 167

11.2 IN模式参数 167

11.3 OUT模式参数 169

11.4 删除存储过程 171

11.5 常见误区分析 171

11.5.1 存储过程事务控制 171

11.5.2 参数名称引发的事故 179

11.6 总结 181

第12章 函数 183

12.1 系统函数 183

12.1.1 字符函数 183

12.1.2 数值函数 186

12.1.3 日期函数 186

12.1.4 null相关的函数 189

12.1.5 聚合函数 190

12.1.6 其他常用函数 190

12.2 自定义函数 191

12.2.1 自定义函数语法 191

12.2.2 SQL Server标量值函数 193

12.2.3 SQL Server内联表值函数 193

12.2.4 SQL Server多语句表值函数 194

12.2.5 Oracle标量值函数 194

12.2.6 Oracle表值函数 195

12.3 常见误区分析 196

12.3.1 SQL函数必须有返回值 196

12.3.2 SQL函数中不能进行DML操作 198

12.4 总结 200

第13章 事务 201

13.1 银行转账案例 201

13.2 事务的4个属性 204

13.2.1 原子性 205

13.2.2 一致性 205

13.2.3 隔离性 205

13.2.4 持久性 206

13.3 并发引起的问题 207

13.3.1 脏读 207

13.3.2 不可重复读 207

13.3.3 幻读 207

13.4 事务隔离级别 208

13.4.1 读未提交 208

13.4.2 读提交 208

13.4.3 重复读 208

13.4.4 序列化 209

13.5 事务保存点 209

13.6 自治事务 210

13.6.1 自治事务用于存储过程 210

13.6.2 自治事务用于触发器 212

13.7 常见误区分析 214

13.7.1 自治事务死锁 214

13.7.2 自治事务获取主事务的信息 214

13.7.3 主事务获取自治事务的信息 216

13.8 总结 217

第14章 SQL Server与Oracle的差异 219

14.1 前N行 219

14.2 字符串拼接 220

14.3 获取系统时间 221

14.4 空字符串 221

14.5 表别名 223

14.6 null值排序 224

14.7 update引起select阻塞 225

14.8 SQL、T-SQL和PL/SQL 227

14.9 视图定义中出现排序 227

14.10 对视图非键值保存表的更新 229

14.11 分组函数嵌套 231

14.12 内联视图 232

14.13 关联表删除 233

14.14 关联表更新 234

14.15 自增列 235

14.16 总结 238