一、学习目的
加深对视图的理解,熟练视图的定义、查看、修改等操作
二、实验环境
Windows 11
Sql server2019
三、实验内容
学生(学号,年龄,性别,系名)
课程(课号,课名,学分,学时)
选课(学号,课号,成绩)
(1)根据上面基本表的信息定义视图显示每门课的课名、选课人数、平均成绩
(2)观察基本表数据变化时,视图中数据的变化。
(3)利用视图,查询平均成绩最高的学生。
四、SOL代码
(1)根据上面基本表的信息定义视图显示每门课的课名、选课人数、平均成绩
(2)观察基本表数据变化时,视图中数据的变化
(3)利用视图,查询平均成绩最高的学生
五、结果分析
SQL语言用CREATE VIEW命令建立视图,其格式为:
CREATE VIEW <视图名> [(<列名> [,<列名>] …)]
AS<子查询>
[WITH CHECK OPTION] ;
其中,子查询可以是任意的SELECT语句,是否可以含有ORDER BY子句和DISTINCT短语,则取决于具体系统的实现;WITH CHECK OPTION表示对视图进行UPDATE、INSERT和DELETE操作时要保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)。删除视图语句:DROP VIEW <视图名>[CASCADE];同时还有插入(INSERT),修改(UPDATE)数据。
六、小结
组成视图的属性列名或者全部省略或者全部指定,没有第三种选择。如果省略了视图的各介属性列名,则隐含该视图由子查询中SELECT子句目标列中的诸字段组成。但在下列三种情况下必须明确指定组成视图的所有列名:
(1)某个目标列不是单纯的属性名,而是聚集函数或列表达式:(2)多表连接时选出了几个同名列作为视图的字段:
(3)需要在视图中为某个列启用新的更合适的名字。