视图是一种虚拟表,通常是作为来自一个或多个表的行或列的子集创建。但是他并不是数据库中存储的数据的集合,他的行和列来自查询中引用的表
使用视图的原因:1,出于安全性,用户不必看到整个数据库的结构。2,符合日常业务逻辑,对数据更容易理解
stuinfo表
stumarks表
问题:由于每个人关心的问题不一样,创建班主任关心的视图和代课老师关心的视图
班主任关心的
if exists(select * from sysobjects where name = 'view_stuinfo') drop view view_stuinfo go create view view_stuinfo as select 姓名=stuName, 学号=stuNo, 性别=stuSex, 年龄=stuAge from stuinfo select * from view_stuinfo
代课老师关心的
create view view_stuMarks as select 姓名=stuName, 学号=stuinfo.stuNo, 笔试成绩=LabExam , 机试成绩=writtenExam, 是否通过=case when LabExam>60 and writtenExam>60 then '通过' else '没有通过' end from stuinfo left join stumarks on stuinfo.stuNo = stumarks.stuNo