运用MySQL语句:查询所有同学的学分情况(假设课程成绩≥60分时可获得该门课程的学分),要求显示学生的学号s_no、姓名s_name、总学分(将该列定名为:total_score)。(用JOIN)
时间: 2024-03-21 15:44:21 浏览: 189
MySQL数据库课程设计-学生成绩管理系统
好的,以下是MySQL语句:
```
SELECT s.s_no, s.s_name, SUM(c.credit) AS total_score
FROM student s
JOIN score sc ON s.s_no = sc.s_no
JOIN course c ON sc.c_no = c.c_no
WHERE sc.score >= 60
GROUP BY s.s_no, s.s_name
```
解释一下:
首先,我们需要从 student 表中获取学生的学号和姓名,从 course 表中获取每门课程的学分,从 score 表中获取每个学生修的每门课的成绩。因此,我们需要使用 JOIN 连接三个表。
然后,我们需要过滤掉成绩不及格的课程,即 WHERE sc.score >= 60。
最后,我们需要按照学号和姓名分组,并且将每个学生修的所有及格课程的学分求和,得到总学分。这里使用了 SUM 函数和 GROUP BY 子句。
最终结果显示的是每个学生的学号和姓名,以及他们的总学分。
阅读全文