麻烦大神帮我解一下这道数据库题目

给定的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表创建一个窗体,要求表中所有属性都反映在窗体中。

有点急,求大神帮忙,文字可能有点多,先在这里谢谢了。
展开
 我来答
水送伊人1
2014-10-16 · 超过33用户采纳过TA的回答
知道答主
回答量:64
采纳率:100%
帮助的人:51万
展开全部
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
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式