Xomm
2019-06-17 23:33
采纳率: 100%
浏览 658
已采纳

SQL语句书写:四表连接查询

 学生表:student(sno,sname,sage,ssex)
 成绩表:sc(sno,cno,score)
 课程表:course(cno,cname,tno)
 教师表:teacher(tno,tname)

有点晕了,哪位大佬帮忙研究一下

查询出每个教师所教课程名称、对应课程的平均分、成绩最高的学生和分数,放在一张结果表展示。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • Xomm 2021-05-13 10:46
    已采纳
    select
    	t.tname,a.*,s.sname 
    from teacher t
    left join course c on t.tno=c.tno 
    left join 
    (
    select 
    	cno
    	,avg(score) as avg_score
    	,max(score) as max_score
    from sc 
    group by cno 
    ) a on c.cno=a.cno 
    left join sc on a.cno=sc.cno and a.max_score=sc.score
    left join student s on sc.sno=s.sno 
    已采纳该答案
    评论
    解决 无用
    打赏 举报
查看更多回答(3条)

相关推荐 更多相似问题