1、创建视图
(1)一般格式:
create view 视图名
[with encryption]
as
select语句
[with check option]
(2)定义单源表视图:
建立信息管理系学生的学号、姓名、性别和年龄的视图
create view is_student(studentid,studentname,sex,birth)
as
select studentid,studentname,sex,getdate()-birth
from student
where sdept = '信息管理系'
(3)定义多源表视图:
建立信息管理系选修C001课程的学生的学号、姓名和成绩的视图
create view V_IS_S1(studentid,studentname,grade)
as
select s.studentid,studentname,grade
from student s
join grade g on g.studentid = s.studentid
where sdept = '信息管理系' and g.courseid = 'C001'
(4)在已有视图上定义新的视图:
在(2)题上建立的视图上建立信息管理系年龄小于20的学生的学号、姓名和年龄的视图
create view is_student_sage(studentid,studentname,birth)
as
select studentid,studentname,getdate()-birth
from is_student
where getdate()-birth >20
(5)带表达式的视图
定义一个学生出生年份的视图,内容包括学号、姓名和出生年份
create view BT_s(studentid,studentname,birth)
as
select studentid,studentname,getdate()-birth
from student
(6)有分组统计信息的视图:
定义一个每个学生的学号及平均成绩的视图
create view s_g(studentid,grade)
as
select studentid,avg(grade)
from grade
group by studentid
2、修改视图:
alter view 视图名
as
查询语句
修改为统计每个学生的考试成绩和选课总门数。
alter view s_g(studentid,grade,count_coursename)
as
select studentid,avg(grade),count(*)
from grade
group by studentid
3、删除视图:
drop view 视图名