麻烦大神帮我解一下这道数据库题目
给定的newdb表中数据库表结构及样本记录数据如下:s(sno,sname,age,sex)c(cno,cname,tname)sc(sno,cno,score)上述属性...
给定的newdb表中数据库表结构及样本记录数据如下:
s(sno,sname,age,sex)
c(cno,cname,tname)
sc(sno,cno,score)
上述属性中,age和score为smallint型,其余均为char型。
在表s中,主键是sno;在表c中,主键是cno;
在表sc中,主键是(sno,cno),外键有两个:sno和cno。
请分别为这三个表输入下列记录:
题目:
1.建立统计学生平均成绩的视图。
2.向SC表中插入一条记录(‘S4’,‘C3’,‘68’)。
3.查询未选课的学生的信息。
4.查询至少选修了两门课程的学生信息。
5.修改一条选课记录:将数据库这门课程的成绩增加5分。
6.为score表创建一个窗体,要求表中所有属性都反映在窗体中。
有点急,求大神帮忙,文字可能有点多,先在这里谢谢了。 展开
s(sno,sname,age,sex)
c(cno,cname,tname)
sc(sno,cno,score)
上述属性中,age和score为smallint型,其余均为char型。
在表s中,主键是sno;在表c中,主键是cno;
在表sc中,主键是(sno,cno),外键有两个:sno和cno。
请分别为这三个表输入下列记录:
题目:
1.建立统计学生平均成绩的视图。
2.向SC表中插入一条记录(‘S4’,‘C3’,‘68’)。
3.查询未选课的学生的信息。
4.查询至少选修了两门课程的学生信息。
5.修改一条选课记录:将数据库这门课程的成绩增加5分。
6.为score表创建一个窗体,要求表中所有属性都反映在窗体中。
有点急,求大神帮忙,文字可能有点多,先在这里谢谢了。 展开
1个回答
展开全部
1:
create view view_name as
select sc.sno,s.sname,avg(sc.score) avgscore
from sc sc left join s s on sc.sno = s.sno
group by sc.sno,s.sname
2:
insert into sc(sno,cno,score) values('s4','c3',68);
3:
select sc.sno,s.sname
from sc sc left join s s on sc.sno = s.sno
where sc.score is null
group by sc.sno,s.sname
4:
select sc.sno,s.sname
from sc sc left join s s on sc.sno = s.sno
group by sc.sno,s.sname
having count(sc.sno) >= 2
5:
update sc set score = score+5
where cno=(select sno from c where cname='basic')
6:
-- 以学生为基础,每一个学生的每一门课都列出来:
select s.sno,s.sname,s.age,s.sex,
c.cno,c.cname,c.tname,
sc.score
from s s left join sc sc on s.sno = sc.sno
left join c c on sc.cno=c.cno
order by s.sno
create view view_name as
select sc.sno,s.sname,avg(sc.score) avgscore
from sc sc left join s s on sc.sno = s.sno
group by sc.sno,s.sname
2:
insert into sc(sno,cno,score) values('s4','c3',68);
3:
select sc.sno,s.sname
from sc sc left join s s on sc.sno = s.sno
where sc.score is null
group by sc.sno,s.sname
4:
select sc.sno,s.sname
from sc sc left join s s on sc.sno = s.sno
group by sc.sno,s.sname
having count(sc.sno) >= 2
5:
update sc set score = score+5
where cno=(select sno from c where cname='basic')
6:
-- 以学生为基础,每一个学生的每一门课都列出来:
select s.sno,s.sname,s.age,s.sex,
c.cno,c.cname,c.tname,
sc.score
from s s left join sc sc on s.sno = sc.sno
left join c c on sc.cno=c.cno
order by s.sno
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询