《SQL必知必会》 第四版
关键字:
database SQL DBMS table schema column field alias aggregate-function subquery
join cartesian-product equijoin inner-join self-join natural-join outer-join
SELECT FROM DISTINCT TOP ROWNUM LIMIT OFFSET ORDER BY ASC DESC WHERE BETWEEN AND IS NULL IN NOT EXISTS LIKE AS HAVING GROUP BY
INNER JOIN ON LEFT OUTER JOIN RIGHT OUTER JOIN
UNION UNION ALL
-- # /**/
% _ []
+ || ,
+ - * /
'' ""
UPPER() LEFT() LENGTH() LOWER() LTRIM() RIGHT() RTRIM() CONCAT() SOUNDEX() SUBSTRING()
CONVERT() CURDATE() YEAR()
ABS() COS() EXP() PI() SIN() SQRT() TAN()
AVG() COUNT() MAX() MIN() SUM()
第一课 了解SQL
数据库database
数据库管理系统DBMS
表table
模式schema
列column
数据类型
行
主键
SQL(Structured Query Language)
第 2 课 检索数据
SELECT 列 FROM 表;
通配符*
DISTINCT
TOP ROWNUM LIMIT OFFSET
-- 这是一条注释
# 这是一条注释
/* */多行注释
目录
引言
致谢
第 1 课 了解 SQL
1.1 数据库基础
1.1.1 数据库 database DBMS
1.1.2 表 表table 模式schema
1.1.3 列和数据类型 column
1.1.4 行 row
1.1.5 主键
1.2 什么是 SQL Structured Query Language
1.3 动手实践
1.4 小结
第 2 课 检索数据
2.1 SELECT 语句 SELECT FROM
2.2 检索单个列
2.3 检索多个列
2.4 检索所有列
2.5 检索不同的值 DISTINCT
2.6 限制结果 TOP ROWNUM LIMIT OFFSET
2.7 使用注释 -- # /**/
2.8 小结
第 3 课 排序检索数据
3.1 排序数据 子句 ORDER BY
3.2 按多个列排序
3.3 按列位置排序
3.4 指定排序方向 ASC DESC
3.5 小结
第 4 课 过滤数据
4.1 使用 WHERE 子句 WHERE
4.2 WHERE 子句操作符
4.2.1 检查单个值
4.2.2 不匹配检查
4.2.3 范围值检查 BETWEEN AND
4.2.4 空值检查 IS NULL
4.3 小结
第 5 课 高级数据过滤
5.1 组合 WHERE 子句
5.1.1 AND 操作符 AND
5.1.2 OR 操作符 OR
5.1.3 求值顺序
5.2 IN 操作符 IN
5.3 NOT 操作符 ONT EXISTS
5.4 小结
第 6 课 用通配符进行过滤
6.1 LIKE 操作符 LIKE
6.1.1 百分号( % )通配符 %
6.1.2 下划线( _ )通配符 _
6.1.3 方括号( [ ] )通配符 []
6.2 使用通配符的技巧
6.3 小结
第 7 课 创建计算字段
7.1 计算字段 field
7.2 拼接字段 + || Concat() TRIM()
使用别名 AS
7.3 执行算术计算 + - * /
7.4 小结
第 8 课 使用数据处理函数
8.1 函数 SUBSTRING() CONVERT() CURDATE()
函数带来的问题
8.2 使用函数
8.2.1 文本处理函数 UPPER() LEFT() LENGTH() LOWER() LTRIM() RIGHT() RTRIM() SOUNDEX()
8.2.2 日期和时间处理函数 YEAR()
8.2.3 数值处理函数 ABS() COS() EXP() PI() SIN() SQRT() TAN()
8.3 小结
第 9 课 汇总数据
9.1 聚集函数
9.1.1 AVG() 函数
9.1.2 COUNT() 函数
9.1.3 MAX() 函数
9.1.4 MIN() 函数
9.1.5 SUM() 函数
9.2 聚集不同值
9.3 组合聚集函数
9.4 小结
第 10 课 分组数据
10.1 数据分组
10.2 创建分组 GROUP BY
10.3 过滤分组 HAVING
10.4 分组和排序 ORDER BY HAVING
10.5 SELECT 子句顺序
10.6 小结
第 11 课 使用子查询
11.1 子查询
11.2 利用子查询进行过滤
11.3 作为计算字段使用子查询
11.4 小结
第 12 课 联结表
12.1 联结
12.1.1 关系表
12.1.2 为什么使用联结
12.2 创建联结
12.2.1 WHERE 子句的重要性 笛卡尔积
12.2.2 内联结 等值连接equijoin 内联结inner join INNER JOIN ON
12.2.3 联结多个表
12.3 小结
第 13 课 创建高级联结
13.1 使用表别名
13.2 使用不同类型的联结 self-join natural-join outer-join
13.2.1 自联结
13.2.2 自然联结
13.2.3 外联结 LEFT OUTER JOIN RIGHT OUTER JOIN
13.3 使用带聚集函数的联结
13.4 使用联结和联结条件
13.5 小结
第 14 课 组合查询
14.1 组合查询
14.2 创建组合查询
14.2.1 使用 UNION UNION
14.2.2 UNION 规则
14.2.3 包含或取消重复的行 UNION ALL
14.2.4 对组合查询结果排序
14.3 小结
第 15 课 插入数据
15.1 数据插入
15.1.1 插入完整的行
15.1.2 插入部分行
15.1.3 插入检索出的数据
15.2 从一个表复制到另一个表
15.3 小结
第 16 课 更新和删除数据
16.1 更新数据
16.2 删除数据
16.3 更新和删除的指导原则
16.4 小结
第 17 课 创建和操纵表
17.1 创建表
17.1.1 表创建基础
17.1.2 使用 NULL 值
17.1.3 指定默认值
17.2 更新表
17.3 删除表
17.4 重命名表
17.5 小结
第 18 课 使用视图
18.1 视图
18.1.1 为什么使用视图
18.1.2 视图的规则和限制
18.2 创建视图
18.2.1 利用视图简化复杂的联结
18.2.2 用视图重新格式化检索出的数据
18.2.3 用视图过滤不想要的数据
18.2.4 使用视图与计算字段
18.3 小结
第 19 课 使用存储过程
19.1 存储过程
19.2 为什么要使用存储过程
19.3 执行存储过程
19.3 执行存储过程
19.4 创建存储过程
19.5 小结
第 20 课 管理事务处理
20.1 事务处理
20.2 控制事务处理
20.2.1 使用 ROLLBACK
20.2.2 使用 COMMIT
20.2.3 使用保留点
20.3 小结
第 21 课 使用游标
21.1 游标
21.2 使用游标
21.2.1 创建游标
21.2.2 使用游标
21.2.3 关闭游标
21.3 小结
第 22 课 高级 SQL 特性
22.1 约束
22.1.1 主键
22.1.2 外键
22.1.3 唯一约束
22.1.4 检查约束
22.2 索引
22.3 触发器
22.4 数据库安全
22.5 小结