书籍详情
SQL学习指南(第2版 修订版)
作者:(美)博利厄 著,张伟超,林青松 译
出版社:人民邮电出版社
出版时间:2015-02-01
ISBN:9787115383440
定价:¥49.00
购买这本书可以去
内容简介
本书全面系统地介绍了SQL语言各方面的基础知识以及一些高级特性,包括SQL数据语言、SQL方案语言、数据集操作、子查询以及内建函数与条件逻辑等内容。书中每个章节讲述一个相对独立的主题,并提供了相关示例和练习。本书内容以SQL 92标准为蓝本,涵盖了市场上常用数据库的最新版本(MySQL 6.0、Oracle 11g及Microsoft SQL Server 2008)。本书适合数据库应用开发者、数据库管理员和高级用户阅读。针对开发基于数据库的应用程序,以及日常的数据库系统管理,本书都展现了大量经过实践检验的方法和技巧。读者可以通过对本书循序渐进地学习快速掌握SQL语言,也可以在实际工作中遇到问题时直接翻阅本书中的相关章节以获取解决方案。
作者简介
Alan Beaulieu,从事设计、构建和实现应用数据库已有15个年头,他目前经营自己的顾问公司,专门提供金融和电信领域的Oracle数据库设计与支持服务。Alan使用了Oracle的诸多特性,如并行查询、分区和并行服务器等,以构建OLTP和OLAP环境下的大型数据库。Alan获得了康奈尔大学工程学院的运筹学学士学位,现在和妻子以及两个女儿一起住在马萨诸塞州,可以通过电子邮箱albeau_mosql@yahoo.com与他联系。
目录
第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 小测验
第4章 过滤
4.1 条件评估
4.1.1 使用圆括号
4.1.2 使用not操作符
4.2 构建条件
4.3 条件类型
4.3.1 相等条件
4.3.2 范围条件
4.3.3 成员条件
4.3.4 匹配条件
4.4 null: 4个字母的关键字
4.5 小测验
第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 小测验
第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 小测验
第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 小测验
第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 小测验
第9章 子查询
9.1 什么是子查询
9.2 子查询类型
9.3 非关联子查询
9.3.1 多行单列子查询
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 小测验
第10章 再谈连接
10.1 外连接
10.1.1 左外连接与右外连接
10.1.2 三路外连接
10.1.3 自外连接
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 小测验
第12章 事务
12.1 多用户数据库
12.1.1 锁
12.1.2 锁的粒度
12.2 什么是事务
12.2.1 启动事务
12.2.2 结束事务
12.2.3 事务保存点
12.3 小测验
第13章 索引和约束
13.1 索引
13.1.1 创建索引
13.1.2 索引类型
13.1.3 如何使用索引
13.1.4 索引的不足
13.2 约束
13.2.1 创建约束
13.2.2 约束与索引
13.2.3 级联约束
13.3 小测验
第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 小测验
第15章 元数据
15.1 关于数据的数据
15.2 信息模式
15.3 使用元数据
15.3.1 模式生成脚本
15.3.2 部署验证
15.3.3 生成动态SQL
15.4 小测验
附录A 示例数据库的ER图
附录B MySQL对SQL语言的扩展
B.1 扩展select语句
B.1.1 limit子句
B.1.2 into outfile子句
B.2 组合insert/update语句
B.3 按排序更新和删除
B.4 多表更新与删除
附录C 练习答案
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 小测验
第4章 过滤
4.1 条件评估
4.1.1 使用圆括号
4.1.2 使用not操作符
4.2 构建条件
4.3 条件类型
4.3.1 相等条件
4.3.2 范围条件
4.3.3 成员条件
4.3.4 匹配条件
4.4 null: 4个字母的关键字
4.5 小测验
第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 小测验
第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 小测验
第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 小测验
第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 小测验
第9章 子查询
9.1 什么是子查询
9.2 子查询类型
9.3 非关联子查询
9.3.1 多行单列子查询
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 小测验
第10章 再谈连接
10.1 外连接
10.1.1 左外连接与右外连接
10.1.2 三路外连接
10.1.3 自外连接
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 小测验
第12章 事务
12.1 多用户数据库
12.1.1 锁
12.1.2 锁的粒度
12.2 什么是事务
12.2.1 启动事务
12.2.2 结束事务
12.2.3 事务保存点
12.3 小测验
第13章 索引和约束
13.1 索引
13.1.1 创建索引
13.1.2 索引类型
13.1.3 如何使用索引
13.1.4 索引的不足
13.2 约束
13.2.1 创建约束
13.2.2 约束与索引
13.2.3 级联约束
13.3 小测验
第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 小测验
第15章 元数据
15.1 关于数据的数据
15.2 信息模式
15.3 使用元数据
15.3.1 模式生成脚本
15.3.2 部署验证
15.3.3 生成动态SQL
15.4 小测验
附录A 示例数据库的ER图
附录B MySQL对SQL语言的扩展
B.1 扩展select语句
B.1.1 limit子句
B.1.2 into outfile子句
B.2 组合insert/update语句
B.3 按排序更新和删除
B.4 多表更新与删除
附录C 练习答案
猜您喜欢