视图
(一张虚拟的表)
1.需要视图的原因
- 通过定义视图可以将频繁使用的SELECT语句保存以提高效率。
- 通过定义视图可以使用户看到的数据更加清晰。
- 通过定义视图可以不对外公开数据表全部字段,增强数据的保密性。
- 通过定义视图可以降低数据的冗余。
2.创建视图
create view <视图名称>(<列名1>,<列名2>…) as select语句
ps注意:不能使用ORDER BY语句
3.修改视图
语法:ALTER VIEW <视图名> AS <SELECT语句>
4.更新视图
对于一个视图来说,如果包含以下结构的任意一种都是不可以被更新的:
- 聚合函数 SUM()、MIN()、MAX()、COUNT() 等。
- DISTINCT 关键字。
- GROUP BY 子句
- HAVING 子句。
- UNION 或 UNION ALL 运算符。
- FROM 子句中包含多个表。
5.删除视图
DROP VIEW <视图名1> [ , <视图名2> …]
子查询
子查询指一个查询语句嵌套在另一个查询语句内部的查询
1.嵌套子查询
2.标量子查询
所谓单一就是要求我们执行的SQL语句只能返回一个值,也就是要返回表中具体的某一行的某一列
3.关联子查询
关联子查询既然包含关联两个字那么一定意味着查询与子查询之间存在着联系