视图的定义、使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.定义“SSCH”院学生基本情况视图V_SSCH;
create view V_SSCH
as
select*from S where Sdept='SSCH'
with check option
2.将S,C,SC表中学生的学号,姓名,课程号,课程名,成绩定义为视图V_S_C_G;
create view V_S_C_G
as
select S.Sno,S.Sname,o,ame,SC.grade
from S,C,SC
where S.Sno=SC.Sno and o=o
with check option
3.将各院学生人数,平均年龄定义为视图V_NUM_AVG;
create view V_NUM_AVG(dept,NUM,age_AVG)
as
select Sdept,count(Sno),avg(Sage)
from S
group by Sdept
with check option
4.将各位学生选修课程的门数及平均成绩定义为视图V_AVG_S_G 并查询结果;
create view V_AVG_S_G(SNo,NUM_COURSE,AVG_GRADE)
as
select Sno,count(Sno),avg(grade)
from SC
where Sno in(select distinct Sno from S)
group by Sno
with check option
5.查询平均成绩为90分以上的学生学号、姓名和成绩;
select distinct S.Sno,S.Sname,V_AVG_S_G.AVG_GRADE
from S,V_AVG_S_G
where S.Sno=V_AVG_S_G.Sno and V_AVG_S_G.AVG_GRADE>90
6.通过视图V_SSCH,新增加一个学生记录('S12','YAN XI',19, 'SSCH'),并查询结果;
insert into V_SSCH(Sno,Sname,Sage,Sdept)
values('S12','YAN XI',19,'SSCH')
查询结果:
select*from V_SSCH
7.将视图V_SSCH中学号为“S12”的学生改名“中南人”。
update V_SSCH
set Sname='中南人'
where Sno='S12'
8.通过视图V_SSCH,删除学号为“S12”学生信息,并查询结果;
delete from V_SSCH
where Sno='S12'
结果查询:
select*from V_SSCH
where Sno='S12'