视图的概念
- 是存储在服务器端一个查询块,是一张虚拟表
- 表示一张表的部分数据或多张表的综合数据
- 其结构和数据是建立在对表的查询基础上。
- 视图的使用,跟普通的表的查询使用完全一样
视图中不存放数据
数据存放在视图所引用的原始表中。
表视图的多样性
一个或多个原始表,根据不同用户的不同需求,可以创建不同的视图。
视图的用途
- 筛选表中的行
- 防止未经许可的用户访问敏感数据
- 降低数据库的复杂程度
- 将多个物理是巨款抽象为一个逻辑数据库
如何创建视图
使用T-SQL语句创建视图
CREATE VIEW view_Stuinfo
AS
<SELECT 语句>
使用T-SQL语句删除视图
if exists(select * from sysobjects where name ='View_StuInfo')
drop view View_StuInfo
使用T-SQL语句查看视图
SELECT * FROM view_StuInfo
场景示例
下面用以下几个表建立视图
ScoreList表
StudentClass表
Students表
创建视图并查询
use StudentManager
go
-- 判断视图是否存在
if exists(select * from sysobjects where name ='View_StuScore')
drop view View_StuScore
go
--创建视图
create view View_StuScore
as
select Students.StudentId,StudentName,ClassName,C#=CSharp,SQLDB=SQLServerDB,
ScoreSum=(CSharp+SQLServerDB)from Students
inner join ScoreList on Students.StudentId =ScoreList.StudentId
inner join StudentClass on Students.ClassId =StudentClass.ClassId
go
--使用视图查询
select * from View_StuScore
结果