题目:查询所有同学的学生编号、学生姓名、选课总数、所有课程的成绩总和

分析:看到总数 应该是要用count(course) ,成绩总和 应该是sum(score) 这些聚合函数,因为要知道每个人的 因此要以人分组 group by studentid

          因为要知道学生的详细信息,因此要join on student 表

 

写出来的sql:

SELECT a.id,a.stdentname, b, c FROM student a JOIN
      (SELECT studentid,COUNT(courseid)AS b,SUM(score) AS c FROM student_score GROUP BY studentid)d
ON a.id = d.studentid;

 

查询的结果:

【sql: 练习题4】查询所有同学的学生编号、学生姓名、选课总数、所有课程的成绩总

 

改进: 把没有选课和没有课程成绩的学生也显示出来,就要用到 left join 了

【sql: 练习题4】查询所有同学的学生编号、学生姓名、选课总数、所有课程的成绩总

 

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-06-25
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-12
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-09-30
相关资源
相似解决方案