SQL Server -- 视图
概念
定义视图
定义单源表视图
取自一个数据表
视图取自一个基本表的部分行、列,视图行列与基本表行列对应
一般可看可改。
未定义视图列明表 所以跟student的列名列表一样
定义多源表视图
多源表视图指定义视图的查询语句所涉及的表可以有多个,这样定义的视图一般只用于查询,不用于修改数据。
可看不可改
在已有视图的基础上新建视图
还可以在视图上再建立视图,这时作为数据源的视图必须是已经建立好的视图
数据源来自其他的视图
视图的来源不仅可以是单个的视图和基本表,而且还可以是视图和基本表的组合。
定义带表达式的视图
含分组信息的视图
子查询中含GROUPBY子句,视图行、列由基本表行列得到,
数据可看不可改。
注意:如果查询语句中的选择列表包含表达式或统计函数,而且在查询语句中也没有为这样的列指定列名,则在定义视图的语句中必须要指定视图属性列的名字
通过视图查询数据
视图定义好后,就可以对其进行查询,通过视图查询数据同基础表一样
有时,将通过视图的查询语句转换为对基本表的查询语句是很直接的,但在有些情况下,这种转换不能直接进行
where后面不能加计算函数
修改和删除视图
1. 修改视图
我们看到,修改视图的sql语句与定义视图的语句基本是一致的,只是将create view 改成了 alter view
2. 删除视图
注意:如果被删除的视图是其他视图的数据源,如前面的V_IS_S2视图是在V_IS_S1的基础上建立的
那么删除这个视图,则其导出视图V_IS_S2无法使用
视图的作用