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
结果如下:
各位若有建议与疑问,欢迎提出讨论;若有什么不对之处,欢迎批评指正。