--1、 创建视图CS,给出选课成绩合格的学生编号、所选课程编号和该课程成绩。
create view CS
as
select * from SC
where score>=60
with check option
--2、 创建视图LX1,显示学生姓名、所选课程名称和任课教师名称。
create view LX1
as
select S.sname,C.cname,T.name
from S,C,T,SC
where S.Sid=SC.Sid and SC.Cid=C.Cid and C.Tid=T.Tid
with check option
--3、 创建视图LX2,有学生姓名、所选课程名和所有课程成绩都比原来多5分这几个属性构成。
create view LX2(sname,cname,score)
as
select sname,cname,score+5
from S,SC,C
where S.Sid=SC.Sid and C.Cid=SC.Cid
with check option
--4、 创建视图LX3,显示学生的学号及其平均成绩。
create view LX3(Sid,avgscore)
as
select Sid,avg(score)
from SC
group by Sid
with check option
--5、 创建视图LX4,包含学生编号,学生所选课程数目和平均成绩。
create view LX4(Sid,选修课程数,平均成绩)
as
select Sid,count(Cid),avg(score)
from SC
group by Sid
with check option
--6、 创建视图LX5,显示所有选修课程C语言的学生姓名。
create view LX5(选修课程C语言的学生姓名)
as
select sname
from S,SC,C
where S.Sid=SC.Sid and C.Cid=SC.Cid and cname='C语言'
with check option
--7、 创建视图LX6,显示每门课程的平均成绩,最高成绩,最低成绩。
create view LX6(课程名,平均成绩,最高成绩,最低成绩)
as
select Cid,avg(score),max(score),min(score)
from SC
group by Cid
with check option
--8、 插入元组(2017071101,107,55)到视图CS中,若是在视图的定义中存在with check option子句对插入有什么影响。
insert
into CS
values(2017071101,107,55)
--9、 将视图CS(包含定义with check option)中,所有课程编号为107的课程成绩都减5分。这个操作能不能正确执行?
update CS
set score=score-5
where Cid=107
--10、 在视图CS中删除编号为2017071206的学生的记录。
delete
from CS
where Sid=2017071206
--11、 删除视图CS。
drop view CS