sql练习-查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

在网上看见几个sql练习的题目,又搜了一些其他的解法,写一下自己的理解。

  创建四张表:Course(课程)、SC(成绩)、Student(学生)、Teacher(老师)


 

  Student中包括sid、sname、sage、ssex;

  SC中包括sid、cid、score;

  我的思路比较简单,从SC中提出sid、AVG(score)到t1,再连接到Student

 

1 SELECT t1.sid AS 学号,sname AS 姓名,score AS 平均分 FROM
2     (SELECT sid,AVG(score) AS score from SC GROUP BY sid HAVING AVG(score) < 60)t1
3     LEFT JOIN Student ON t1.sid = Student.sid

 

 结果如下:

 

 


 

  各位若有建议与疑问,欢迎提出讨论;若有什么不对之处,欢迎批评指正。

posted @ 2020-05-11 15:04  老Jiu  阅读(7372)  评论(0编辑  收藏  举报