封面
版权信息
作者简介
内容简介
前言
第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 空值的分组
- APP免费
5.4 空值的排序
- APP免费
5.5 函数中的空值
- APP免费
5.6 空值处理函数
- APP免费
5.7 空值与约束
- APP免费
5.8 案例分析
- APP免费
5.9 小结
- APP免费
第6章 连接多个表
- APP免费
6.1 连接的语法与类型
- APP免费
6.1.1 使用FROM和WHERE连接两个表
- APP免费
6.1.2 使用JOIN和ON连接两个表
- APP免费
6.1.3 连接查询的类型
- APP免费
6.2 内连接
- APP免费
6.2.1 等值连接
- APP免费
6.2.2 非等值连接
- APP免费
6.3 外连接
- APP免费
6.3.1 左外连接
- APP免费
6.3.2 右外连接
- APP免费
6.3.3 全外连接
- APP免费
6.4 交叉连接
- APP免费
6.5 自然连接
- APP免费
6.6 自连接
- APP免费
6.7 连接多个表
- APP免费
6.8 案例分析
- APP免费
6.8.1 案例一:生成数字序列
- APP免费
6.8.2 案例二:员工考勤记录
- APP免费
6.9 小结
- APP免费
第7章 嵌套子查询
- APP免费
7.1 查询中的查询
- APP免费
7.2 标量子查询
- APP免费
7.3 行子查询
- APP免费
7.4 表子查询
- APP免费
7.4.1 WHERE条件中的子查询
- APP免费
7.4.2 ALL、ANY运算符
- APP免费
7.4.3 FROM子句中的子查询
- APP免费
7.5 关联子查询
- APP免费
7.6 横向子查询
- APP免费
7.7 EXISTS运算符
- APP免费
7.8 案例分析
- APP免费
7.8.1 案例一:月度销售冠军
- APP免费
7.8.2 案例二:销售增长之星
- APP免费
7.9 小结
- APP免费
第8章 表的集合运算
- APP免费
8.1 集合运算
- APP免费
8.2 交集求同
- APP免费
8.3 并集存异
- APP免费
8.4 差集排他
- APP免费
8.5 集合运算与排序
- APP免费
8.6 运算符的优先级
- APP免费
8.7 案例分析
- APP免费
8.7.1 案例一:优秀员工分析
- APP免费
8.7.2 案例二:用户权限管理
- APP免费
8.8 小结
- APP免费
第9章 通用表表达式
- APP免费
9.1 表即变量
- APP免费
9.2 强大的递归
- APP免费
9.2.1 递归查询语法
- APP免费
9.2.2 生成数字序列
- APP免费
9.2.3 遍历层次结构
- APP免费
9.2.4 递归的终止
- APP免费
9.3 案例分析:社交网络关系
- APP免费
9.3.1 数据结构
- APP免费
9.3.2 好友关系分析
- APP免费
9.3.3 粉丝关系分析
- APP免费
9.4 小结
- APP免费
第10章 窗口函数
- APP免费
10.1 窗口函数定义
- APP免费
10.1.1 创建数据分区
- APP免费
10.1.2 分区内的排序
- APP免费
10.1.3 指定窗口大小
- APP免费
10.1.4 窗口函数分类
- APP免费
10.2 聚合窗口函数
- APP免费
10.2.1 案例分析:移动平均值
- APP免费
10.2.2 案例分析:累计求和
- APP免费
10.3 排名窗口函数
- APP免费
10.3.1 案例分析:分类排名
- APP免费
10.3.2 案例分析:累积分布
- APP免费
10.4 取值窗口函数
- APP免费
10.4.1 案例分析:环比、同比分析
- APP免费
10.4.2 案例分析:复合增长率
- APP免费
10.5 小结
- APP免费
第11章 数据的增删改合
- APP免费
11.1 插入数据
- APP免费
11.1.1 插入单行记录
- APP免费
11.1.2 插入多行记录
- APP免费
11.1.3 复制数据
- APP免费
11.2 更新数据
- APP免费
11.2.1 单表更新
- APP免费
11.2.2 关联更新
- APP免费
11.3 删除数据
- APP免费
11.3.1 单表删除
- APP免费
11.3.2 关联删除
- APP免费
11.3.3 快速删除全表数据
- APP免费
11.4 合并数据
- APP免费
11.4.1 标准合并语句
- APP免费
11.4.2 非标准合并语句
- APP免费
11.5 外键约束与级联操作
- APP免费
11.5.1 违反外键约束
- APP免费
11.5.2 级联更新和删除
- APP免费
11.6 小结
- APP免费
第12章 数据库事务
- APP免费
12.1 什么是数据库事务
- APP免费
12.2 事务的ACID属性
- APP免费
12.3 事务控制语句
- APP免费
12.3.1 开始事务
- APP免费
12.3.2 提交事务
- APP免费
12.3.3 撤销事务
- APP免费
12.3.4 事务保存点
- APP免费
12.4 并发事务与隔离级别
- APP免费
12.4.1 并发问题
- APP免费
12.4.2 隔离级别
- APP免费
12.5 案例分析
- APP免费
12.6 小结
- APP免费
第13章 数据库设计与实现
- APP免费
13.1 实体关系图
- APP免费
13.1.1 实体
- APP免费
13.1.2 属性
- APP免费
13.1.3 关系
- APP免费
13.1.4 ERD建模
- APP免费
13.2 规范化设计
- APP免费
13.2.1 数据异常
- APP免费
13.2.2 第一范式
- APP免费
13.2.3 第二范式
- APP免费
13.2.4 第三范式
- APP免费
13.2.5 主键与外键
- APP免费
13.2.6 反规范化
- APP免费
13.3 数据类型
- APP免费
13.3.1 数字类型
- APP免费
13.3.2 字符串类型
- APP免费
13.3.3 日期时间类型
- APP免费
13.3.4 二进制类型
- APP免费
13.3.5 选择合适的数据类型
- APP免费
13.4 管理数据库对象
- APP免费
13.4.1 常见对象
- APP免费
13.4.2 管理数据库
- APP免费
13.4.3 管理模式
- APP免费
13.4.4 管理数据表
- APP免费
13.5 小结
- APP免费
第14章 索引与性能优化
- APP免费
14.1 索引的原理
- APP免费
14.1.1 聚集索引
- APP免费
14.1.2 非聚集索引
- APP免费
14.2 索引的类型
- APP免费
14.2.1 唯一索引与非唯一索引
- APP免费
14.2.2 单列索引与多列索引
- APP免费
14.2.3 升序索引与降序索引
- APP免费
14.2.4 函数索引
- APP免费
14.3 索引的维护
- APP免费
14.3.1 创建索引
- APP免费
14.3.2 查看索引
- APP免费
14.3.3 删除索引
- APP免费
14.3.4 注意事项
- APP免费
14.4 执行计划
- APP免费
14.4.1 查询语句的执行过程
- APP免费
14.4.2 查看SQL语句的执行计划
- APP免费
14.5 查询优化技巧
- APP免费
14.5.1 创建合适的索引
- APP免费
14.5.2 避免索引失效
- APP免费
14.5.3 只返回需要的结果
- APP免费
14.5.4 优化多表连接
- APP免费
14.5.5 尽量避免使用子查询
- APP免费
14.5.6 优化集合操作
- APP免费
14.5.7 不要使用OFFSET实现分页
- APP免费
14.5.8 记住SQL子句的逻辑执行顺序
- APP免费
14.6 小结
- APP免费
第15章 视图不是表
- APP免费
15.1 视图概述
- APP免费
15.1.1 什么是视图
- APP免费
15.1.2 视图的优缺点
- APP免费
15.2 管理视图
- APP免费
15.2.1 创建视图
- APP免费
15.2.2 视图中的ORDER BY子句
- APP免费
15.2.3 修改视图的定义
- APP免费
15.2.4 删除视图
- APP免费
15.3 可更新视图
- APP免费
15.3.1 可更新视图的限制
- APP免费
15.3.2 通过视图修改数据
- APP免费
15.3.3 限制视图的操作
- APP免费
15.4 案例分析
- APP免费
15.5 小结
- APP免费
第16章 存储过程和存储函数
- APP免费
16.1 存储过程概述
- APP免费
16.1.1 什么是存储过程
- APP免费
16.1.2 存储过程的优缺点
- APP免费
16.2 管理存储过程
- APP免费
16.2.1 创建存储过程
- APP免费
16.2.2 执行存储过程
- APP免费
16.2.3 修改存储过程
- APP免费
16.2.4 删除存储过程
- APP免费
16.3 使用存储函数
- APP免费
16.3.1 存储函数和存储过程的区别
- APP免费
16.3.2 创建存储函数
- APP免费
16.3.3 调用存储函数
- APP免费
16.3.4 修改存储函数
- APP免费
16.3.5 删除存储函数
- APP免费
16.4 案例分析
- APP免费
16.5 小结
- APP免费
第17章 一触即发的触发器
- APP免费
17.1 触发器概述
- APP免费
17.1.1 触发器的原理
- APP免费
17.1.2 触发器的分类
- APP免费
17.2 管理触发器
- APP免费
17.2.1 创建触发器
- APP免费
17.2.2 验证触发器
- APP免费
17.2.3 查看触发器
- APP免费
17.2.4 启用、禁用触发器
- APP免费
17.2.5 删除触发器
- APP免费
17.3 案例分析
- APP免费
17.3.1 案例一:禁止DDL操作
- APP免费
17.3.2 案例二:替换视图的DML操作
- APP免费
17.4 小结
- APP免费
第18章 超越关系
- APP免费
18.1 文档存储
- APP免费
18.1.1 JSON数据类型
- APP免费
18.1.2 将JSON对象表示成SQL数据
- APP免费
18.1.3 将SQL数据表示成JSON对象
- APP免费
18.2 复杂事件
- APP免费
18.2.1 行模式识别
- APP免费
18.2.2 分析股票曲线图
- APP免费
18.2.3 监控可疑的银行转账
- APP免费
18.3 多维数组
- APP免费
18.3.1 数组的存储和访问
- APP免费
18.3.2 数组处理函数
- APP免费
18.4 图形存储
- APP免费
18.4.1 图形查询语言与SQL/PGQ
- APP免费
18.4.2 社交网络关系分析
- APP免费
18.5 小结
- APP免费
附录A SQL常用语句速查表
- APP免费
文后内容
更新时间:2022-05-10 18:45:49