第1关:创建视图

实验完成要求

根据代码区的提示,将SQL语句书写在对应的代码区中。

注:请务必将select子句中出现的列名小写,顺序必须和题目要求一致

1、创建视图vcg,查询课程名为'Math'的课程中,成绩不及格的学生,列出学号,课程号,成绩。 2、修改视图vcg中的数据,将成绩加5分

3、删除视图vcg中的数据,将成绩小于40分的选课信息删除。

Create view vcg
as
select sno,cno,grade
from SC
where cno in(select cno from Course  where cname='Math') and grade<60;
update vcg
set grade=grade+5;
delete
from vcg
where grade<40;

第2关:创建和使用视图

实验完成要求

根据代码区的提示,将SQL语句书写在对应的代码区中。

注:请务必将select子句中出现的列名小写,顺序必须和题目要求一致

1、创建视图vsumc,使其包含每个选了课的学生获得的学分(成绩及格才能得学分)。列出学号和总学分(列名:ssumc)。

2、使用vsumc视图,查询男同学总学分高于12分的学生的学号,姓名,性别。

3、使用vsumc视图,查询总学分最高的学生,列出学号,姓名,性别,年龄,所在系

4、使用vsumc视图,查询平均分大于等于65分的学生的学号,平均分(列名:savg),总学分(列名:ssumc)

create view vsumc(sno,ssumc)
as 
select sno,sum(ccredit)
from SC,Course
where grade>=60 and Course.cno=SC.cno
group by sno;
select sno,sname,ssex
from Student
where ssex='m' 
and exists(select * from vsumc where sno=student.sno and ssumc>12);
select vsumc.sno,sname,ssex,sage,sdept
from vsumc,Student
where  ssumc >= all(
	select ssumc from vsumc
) and Student.sno = vsumc.sno;
select SC.sno, avg(grade) savg,ssumc
from vsumc,SC 
where SC.sno=vsumc.sno 
group by SC.sno,ssumc
having avg(grade)>=65;
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。