永发信息网

麻烦指导下这个sql语句如何写

答案:5  悬赏:80  手机版
解决时间 2021-05-05 20:44
  • 提问者网友:像風在裏
  • 2021-05-05 01:14

已知关系模式:

S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名;

C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师;

SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩

请用SQL语句列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩

最佳答案
  • 五星知识达人网友:夜余生
  • 2021-05-05 02:35

条件不完整。。。表的关系没建好。。

全部回答
  • 1楼网友:往事埋风中
  • 2021-05-05 05:40
SELECt S.SNO,S.SNAME,AVG_SCGRADE=AVG(SC.SCGRADE) FROM S,SC,( SELECt SNO FROM SC WHERe SCGRADE<60 GROUP BY SNO HAVINg COUNT(DISTINCT CNO)>=2 )A WHERe S.SNO=A.SNO AND SC.SNO=A.SNO GROUP BY S.SNO,S.SNAME
  • 2楼网友:迟山
  • 2021-05-05 04:57
select s.sno,sname,avg(scgrade) as '平均成绩' from s,sc where s.sno=sc.sno and s.sno in ( select sno from sc where scgrade<'60' group by sno having count(sno)>2 or count(sno)=2 ) group by sname,s.sno
  • 3楼网友:神也偏爱
  • 2021-05-05 03:24
select sname,agv(SCGRADE) from sc inner join s on sc.sno=s.sno inner join c on sc.cno=c.cno group by sname having sc.grade <60 and count(cno)>=2
  • 4楼网友:执傲
  • 2021-05-05 03:05

哈哈 终于找到个 我 可以发挥的题目老

select sname,grade,count(cno) from s,c,sc

group by sname,grade sno s.sno=sc.sno and sc.cno=c.cno

having sno s.sno=sc.sno and sc.cno=c.cno and sc.grade <60 and count(cno)>=2

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯