SQL学习指南(第2版)(修订版)
2020-04-07 14:27:33 0 举报
AI智能生成
SQL学习指南(第2版)(修订版)
作者其他创作
大纲/内容
9 子查询
9.1 什么是子查询
9.2 子查询类型
9.3 非关联子查询
9.3.1 多行单列子查询
in 和not in运算符
all运算符
any运算符
9.3.2 多列子查询
9.4 关联子查询
9.4.1 exists 运算符
9.4.2 关联子查询操作数据
9.5 何时使用子查询
9.5.1 子查询作为数据源
数据加工
面向任务的子查询
9.5.2 过滤条件中的子查询
9.5.3 子查询作为表达式生成器
9.6 子查询总结
9.7 小测验
练习9-1
练习9-2
练习9-3
练习9-4
10 再谈连接
10.1 外连接
10.1.1 左外连接与右外连接
10.1.2 三路外连接
10.1.3 自外连接
10.2 交叉连接
10.3 自然连接
10.4 小测验
练习10-1
练习10-2
练习10-3
练习10-4(附加题)
11 条件逻辑
11.1 什么是条件逻辑
11.2 case 表达式
11.2.1 查找型case表达式
11.2.2 简单case表达式
11.3 case表达式范例
11.3.1 结果集变换
11.3.2 选择性聚合
11.3.3 存在性检查
11.3.4 除零错误
11.3.5 有条件更新
11.3.6 null值处理
11.4 小测验
练习11-1
练习11-2
12 事务
12.1 多用户数据库
12.1.1 锁
12.1.2 锁的粒度
12.2 什么是事务
12.2.1 启动事务
12.2.2 结束事务
12.2.3 事务保存点
12.3 小测验
练习12-1
13 索引和约束
13.1 索引
13.1.1 创建索引
唯一索引
多列索引
13.1.2 索引类型
B树索引
位图索引
文本索引
13.1.3 如何使用索引
13.1.4 索引的不足
13.2 约束
13.2.1 创建约束
13.2.2 约束与索引
13.2.3 级联约束
13.3 小测验
练习13-1
练习13-2
14 视图
14.1 什么是视图
14.2 为什么使用视图
14.2.1 数据安全
14.2.2 数据聚合
14.2.3 隐藏复杂性
14.2.4 连接分区数据
14.3 可更新的视图
14.3.1 更新简单视图
14.3.2 更新复杂视图
14.4 小测验
练习14-1
练习14-2
15 元数据
15.1 关于数据的数据
15.2 信息模式
15.3 使用元数据
15.3.1 模式生成脚本
15.3.2 部署验证
15.3.3 生成动态SQL
15.4 小测验
练习15-1
练习15-2
附录A 示例数据库的ER图
附录B MySQL对SQL语言的扩展
B.1 扩展select语句
B.1.1 limit子句
组合limit子句和order by子句
Limit子句中可选的第二个参数
排名查询
B.1.2 into outfile子句
B.2 组合insert/update语句
B.3 按排序更新和删除
B.4 多表更新与删除
附录C 练习答案
O’Reilly Media, Inc.介绍
为什么要学习SQL
为什么使用本书学习SQL
本书的结构
阅读须知
使用示例代码
封面介绍
1 背景知识
1.1 数据库简介
1.1.1 非关系数据库
1.1.2 关系模型
1.1.3 一些术语
1.2 什么是SQL
1.2.1 SQL语句的分类
1.2.2 SQL:非过程化语句
1.2.3 SQL示例
1.3 什么是MySQL
1.4 内容前瞻
2 创建和使用数据库
2.1 创建MySQL数据库
2.2 使用mysql命令行工具
2.3 MySQL数据类型
2.3.1 字符型数据
字符集
文本数据
2.3.2 数值型数据
2.3.3 时间数据
2.4 表的创建
2.4.1 第1步:设计
2.4.2 第2步:精化
2.4.3 第3步:构建SQL方案语句
2.5 操作与修改表
2.5.1 插入数据
生成数字型主键数据
2.5.2 更新数据
2.5.3 删除数据
2.6 导致错误的语句
2.6.1 主键不唯一
2.6.2 不存在的外键
2.6.3 列值不合法
2.6.4 无效的日期转换
2.7 Bank方案
3 查询入门
3.1 查询机制
3.2 查询语句
3.3 select子句
3.3.1 列的别名
3.3.2 去除重复的行
3.4 from子句
3.4.1 表的概念
子查询产生的表
视图
3.4.2 表连接
3.4.3 定义表别名
3.5 where子句
3.6 group by和having子句
3.7 order by子句
3.7.1 升序或降序排序
3.7.2 根据表达式排序
3.7.3 根据数字占位符排序
3.8 小测验
练习3-1
练习3-2
练习3-3
练习3-4
4 过滤
4.1 条件评估
4.1.1 使用圆括号
4.1.2 使用not操作符
4.2 构建条件
4.3 条件类型
4.3.1 相等条件
不等条件
使用相等条件修改数据
4.3.2 范围条件
between操作符
字符串范围
4.3.3 成员条件
使用子查询
使用not in
4.3.4 匹配条件
使用通配符
使用正则表达式
4.4 null: 4个字母的关键字
4.5 小测验
练习4-1
练习4-2
练习4-3
练习4-4
5 多表查询
5.1 什么是连接
5.1.1 笛卡儿积
5.1.2 内连接
5.1.3 ANSI连接语法
5.2 连接3个或更多的表
5.2.1 将子查询结果作为查询表
5.2.2 连续两次使用同一个表
5.3 自连接
5.4 相等连接和不等连接
5.5 连接条件和过滤条件
5.6 小测验
练习5-1
练习5-2
练习5-3
6 使用集合
6.1 集合理论基础
6.2 集合理论实践
6.3 集合操作符
6.3.1 union操作符
6.3.2 intersect操作符
6.3.3 except操作符
6.4 集合操作规则
6.4.1 对复合查询结果排序
6.4.2 集合操作符优先级
6.5 小测验
练习6-1
练习6-2
练习6-3
7 数据生成、转换和操作
7.1 使用字符串数据
7.1.1 生成字符串
包含单引号
包含特殊字符
7.1.2 操作字符串
返回数字的字符串函数
返回字符串的字符串函数
7.2 使用数值数据
7.2.1 执行算术函数
7.2.2 控制数字精度
7.2.3 处理有符号数
7.3 使用时间数据
7.3.1 处理时区
7.3.2 生成时间数据
表示日期数据的字符串
字符串到日期的转换
产生日期的函数
7.3.3 操作时间数据
返回日期的时间函数
返回字符串的时间函数
返回数字的时间函数
7.4 转换函数
7.5 小测验
练习7-1
练习7-2
练习7-3
8 分组与聚集
8.1 分组概念
8.2 聚集函数
8.2.1 隐式或显式分组
8.2.2 对独立值计数
8.2.3 使用表达式
8.2.4 如何处理null值
8.3 产生分组
8.3.1 对单列的分组
8.3.2 对多列的分组
8.3.3 利用表达式分组
8.3.4 产生合计数
8.4 分组过滤条件
8.5 小测验
练习8-1
练习8-2
练习8-3
练习8-4(附加题)
0 条评论
下一页