第三章作业3-多表查询(主观题)

设有一个 Student 数据库,包括 数据库,包括 学生 , 课程 , 选修三个关系: 三个关系:

学生:S ( Sno ,Sname ,Ssex ,Sage,Sdept )

课程:C ( Cno ,Cname ,Term,Credit ,cpno)

选修:SC ( Sno ,Cno ,Score )

其中:学生关系  S 的属性分别表示:学号、姓名、性别、 年龄、专业 

课程关系  C 的属性分别表示:课程号、课程名、开课学期、学分、先修课程号 

选修关系 SC 的属性分别表示:学号、课程号、分数

请用 SQL 语句完成下面的操作:

(1)查询每门课程的间接先修课程(即先修课程的先修课程)

(2) 、 检索所有比“王华”年龄大的学生姓名、年龄和性别

(3) 、 检索选修 了课程号为’C02’ 课程的学生中成绩最高的学生的学号

 (4)、 检索选修了4 门以上课程的学生学号和总成绩(不统计不及格的课程),并要求按照总成绩的降序排列。

(5)、 检索张力同学没有选修的课程的课程号

1)select Cpno from C,SC where C.cpno=SC.Cno

2)select Sname,Ssex,Sage from  S where Sage > (select Sage from S where Sname='王华')

3)select Sno from SC where Cno='c02' and Score >All (select Score from SC where Cno = 'C02'  )

4)select Sno sum(Score) from SC where Score >= 60 Group by Sno Having count(*)>4 order by 2 desc

5)select Cno from c where not exists (select * from SC,S where S.Sno=SC.Sno and SC.Cno=C.Cno and Sname='张力')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值