zi深数据库工程师写给初学者的实用指南! 107张图表 209段代码 88个法则,菜鸟阶bi备! 基于标准SQL编写,明示各RDBMS(PostgreSQL/DB2/MySQL/Oracle/SQL Server)的差异! 1.畅销书全新升级,内容更新更全面! 第1版豆瓣评分8.8分,重印13次,好评如潮。第2版基于新版本RDBMS全面升级,并新增一章介绍从应用程序执行SQL语句的方法。 2.由浅深,结构清晰,真正适合初学者! 从数据库、表的结构到查询、更新表的语法,常用的函数,表的联结等,内容逐步深。对于初学者常见的疑难,均通过专栏行讲解。各章节后精心设计了练习题,帮助读者巩固理解。
售 价:¥
纸质售价:¥36.90购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
前言
第 0 章 绪论——搭建 SQL 的学习环境
本章重点
0-1 PostgreSQL 的安装和连接设置
安装步骤
修改设置文件
0-2 通过 PostgreSQL 执行 SQL 语句
连接 PostgreSQL(登录)
执行 SQL 语句
创建学习用的数据库
连接学习用的数据库(登录)
第 1 章 数据库和 SQL
本章重点
1-1 数据库是什么
我们身边的数据库
为什么 DBMS 那么重要
DBMS 的种类
1-2 数据库的结构
RDBMS 的常见系统结构
表的结构
1-3 SQL概要
标准 SQL
SQL 语句及其种类
SQL 的基本书写规则
1-4 表的创建
表的内容的创建
数据库的创建(CREATE DATABASE 语句)
表的创建(CREATE TABLE 语句)
命名规则
数据类型的指定
约束的设置
1-5 表的删除和更新
表的删除(DROP TABLE 语句)
表定义的更新(ALTER TABLE 语句)
向 Product 表中插入数据
练习题
第 2 章 查询基础
本章重点
2-1 SELECT语句基础
列的查询
查询出表中所有的列
为列设定别名
常数的查询
从结果中删除重复行
根据 WHERE 语句来选择记录
注释的书写方法
2-2 算术运算符和比较运算符
算术运算符
需要注意 NULL
比较运算符
对字符串使用不等号时的注意事项
不能对 NULL 使用比较运算符
2-3 逻辑运算符
NOT 运算符
AND 运算符和 OR 运算符
通过括号强化处理
逻辑运算符和真值
含有 NULL 时的真值
练习题
第 3 章 聚合与排序
本章重点
3-1 对表进行聚合查询
聚合函数
计算表中数据的行数
计算 NULL 之外的数据的行数
计算合计值
计算平均值
计算最大值和最小值
使用聚合函数删除重复值(关键字 DISTINCT)
3-2 对表进行分组
GROUP BY 子句
聚合键中包含 NULL 的情况
使用 WHERE 子句时 GROUP BY 的执行结果
与聚合函数和 GROUP BY 子句有关的常见错误
3-3 为聚合结果指定条件
HAVING 子句
HAVING 子句的构成要素
相对于 HAVING 子句,更适合写在 WHERE 子句中的条件
3-4 对查询结果进行排序
ORDER BY 子句
指定升序或降序
指定多个排序键
NULL 的顺序
在排序键中使用显示用的别名
ORDER BY 子句中可以使用的列
不要使用列编号
练习题
第 4 章 数据更新
本章重点
4-1 数据的插入(INSERT语句的使用方法)
什么是 INSERT
INSERT 语句的基本语法
列清单的省略
插入 NULL
插入默认值
从其他表中复制数据
4-2 数据的删除(DELETE语句的使用方法)
DROP TABLE 语句和 DELETE 语句
DELETE 语句的基本语法
指定删除对象的 DELETE 语句(搜索型 DELETE)
4-3 数据的更新(UPDATE语句的使用方法)
UPDATE 语句的基本语法
指定条件的 UPDATE 语句(搜索型 UPDATE)
使用 NULL 进行更新
多列更新
4-4 事务
什么是事务
创建事务
ACID 特性
练习题
第 5 章 复杂查询
本章重点
5-1 视图
视图和表
创建视图的方法
视图的限制①——定义视图时不能使用 ORDER BY子句
视图的限制② ——对视图进行更新
删除视图
5-2 子查询
子查询和视图
子查询的名称
标量子查询
标量子查询的书写位置
使用标量子查询时的注意事项
5-3 关联子查询
普通的子查询和关联子查询的区别
关联子查询也是用来对集合进行切分的
结合条件一定要写在子查询中
练习题
第 6 章 函数、谓词、CASE 表达式
本章重点
6-1 各种各样的函数
函数的种类
算术函数
字符串函数
日期函数
转换函数
6-2 谓词
什么是谓词
LIKE 谓词——字符串的部分一致查询
BETWEEN 谓词——范围查询
IS NULL、IS NOT NULL——判断是否为NULL
IN 谓词——OR 的简便用法
使用子查询作为 IN 谓词的参数
EXIST 谓词
6-3 CASE表达式
什么是 CASE 表达式
CASE 表达式的语法
CASE 表达式的使用方法
练习题
第 7 章 集合运算
本章重点
7-1 表的加减法
什么是集合运算
表的加法——UNION
集合运算的注意事项
包含重复行的集合运算——ALL 选项
选取表中公共部分——INTERSECT
记录的减法——EXCEPT
7-2 联结(以列为单位对表进行联结)
什么是联结
内联结——INNER JOIN
外联结——OUTER JOIN
3 张以上的表的联结
交叉联结——CROSS JOIN
联结的特定语法和过时语法
练习题
第 8 章 SQL 高级处理
本章重点
8-1 窗口函数
什么是窗口函数
窗口函数的语法
语法的基本使用方法——使用 RANK 函数
无需指定 PARTITION BY
专用窗口函数的种类
窗口函数的适用范围
作为窗口函数使用的聚合函数
计算移动平均
两个 ORDER BY
8-2 GROUPING运算符
同时得到合计行
ROLLUP——同时得出合计和小计
GROUPING 函数——让 NULL 更加容易分辨
CUBE——用数据来搭积木
GROUPING SETS——取得期望的积木
练习题
第 9 章 通过应用程序连接数据库
本章重点
9-1 数据库世界和应用程序世界的连接
数据库和应用程序之间的关系
驱动——两个世界之间的桥梁
驱动的种类
9-2 Java基础知识
第一个程序 Hello,World
编译和程序执行
常见错误
9-3 通过Java连接PostgreSQL
执行 SQL 语句的 Java程序
Java是如何从数据库中获取数据的呢
执行连接数据库的程序
选取表中的数据
更新表中的数据
小结
练习题
附录 练习题答案
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜