成绩统计表的构造和求解思路如下:

'构造思路:'

  1. 需要从选课表 SC 中统计每位学生的选课门次。
  2. 需要计算每位学生的平均成绩。
  3. 最后,按照平均成绩的降序排列结果。

'SQL 语句:'

SELECT 
  S.Sno,
  S.Sname,
  COUNT(SC.Cno) AS '学科门数',
  AVG(SC.Grade) AS '平均成绩'
FROM 
  S
LEFT JOIN 
  SC ON S.Sno = SC.Sno
GROUP BY 
  S.Sno, S.Sname
ORDER BY 
  '平均成绩' DESC;

在这个 SQL 语句中,我们使用了 LEFT JOIN 来确保即使学生没有选课记录,他们也会出现在结果中。最后,我们根据平均成绩的降序对结果进行排序。

'成绩统计表示例运行结果:'

+--------+--------+---------+--------+
|  Sno   |  Sname | '学科门数' | '平均成绩' |
+--------+--------+---------+--------+
|  S001  |  张三  |    2    |  88.25 |
|  S002  |  李四  |    2    |  85.25 |
|  S003  |  王五  |    1    |  78.0  |
+--------+--------+---------+--------+

请注意,上述 SQL 语句是基于给出的表结构和数据进行编写的。在实际使用时,请根据数据库软件的语法要求进行微调或调整。

SQL 查询:统计学生选课门数和平均成绩

原文地址: https://www.cveoy.top/t/topic/brUP 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录