SQLServer —— 视图
一、视图的概念
- 是存储在服务器端的一个查询块,是一张虚拟表。
- 表示一张表的部分数据或多张表的综合数据。
- 其结构和数据是建立在对表的查询基础上。
- 视图的使用,跟对普通的表的查询使用完全一样。
二、视图中不存放数据
数据存放在视图所引用的原始表中。
三、表视图的多样性
一个或多个原始表,根据不同用户的不同需求,可以创建不同的视图。
四、视图的用途
- 筛选表中的行。
- 防止未经许可的用户访问敏感数据。
- 降低数据库的复杂程度。
- 将多个物理数据库抽象成为一个逻辑数据库。
五、实际运用
5.1、基于 ssms 创建使用视图
有以下三张表,分别是学员信息表、学员班级表、学员成绩表,如下:
我们可以基于这三张表,新建一个视图:
(1)、右键该数据库视图选项,点新建视图
(2)、逐一将三张表进行添加
(3)、需要哪个字段,点复选框进行勾选
(4)、勾选完毕,保存,并起一个适合的名字
(5)、至此,我们可以刷新视图,可以看到我们刚刚创建的视图了。
(6)、新建一个查询,测试一下。
5.2、使用 T - SQL语句创建视图
CREATE VIEW view_StuInfo AS <SELECT 语句>
5.3、使用 T - SQL语句删除视图
-- 需要使用一堆单引号括起 IF EXISTS (SELECT * FROM sysobjects WHERE name = view_StuInfo) DROP VIEW view_StuInfo
5.4、使用 T - SQL语句查看视图
SELECT * FROM view_StuInfo
5.5、完整的例子
六、视图的注意事项
1、视图中可以使用多个表。
2、一个视图可以嵌套另一个视图(尽量少套用)
3、视图定义中的SELECT语句不能包括下列内容:
- ORDER BY 字句,除非在SELECT语句的选择列表中也有一个TOP字句。
- INTO关键字。
- 引用临时表或表变量。