Mysql中表student_table(id,name,birth,sex),score_table(stu_id,subject_name,score),查询每个学生的分数最高的学科以及对应分数
时间: 2024-03-23 20:41:24 浏览: 235
学科、姓名、分数。 分别计算每门学科分数最高的前三名,并显示名次。写入MySQL中。
您可以使用以下 SQL 语句来查询每个学生的分数最高的学科以及对应分数:
```
SELECT s.id, s.name, MAX(sc.score) AS max_score, sc.subject_name
FROM student_table s
LEFT JOIN score_table sc ON s.id = sc.stu_id
GROUP BY s.id
```
解释一下这个 SQL 语句的含义:
1. 首先使用 LEFT JOIN 将学生表和成绩表连接起来,关联条件是学生表中的 id 字段和成绩表中的 stu_id 字段相等。
2. 然后使用 GROUP BY s.id 对结果进行分组,分组的依据是学生表中的 id 字段。
3. 最后使用 MAX(sc.score) 函数来获取每个学生的最高分数,同时使用 sc.subject_name 获取对应的学科名称。
4. 查询结果包括学生 ID、姓名、最高分数、最高分数对应的学科名称。
希望这个 SQL 语句可以帮助到您!
阅读全文