MySQL 查询最高成绩的学生信息 - SQL 语句示例
在 MySQL 数据库中,假设 db_sc 数据库包含以下四张表:
- course 表:包含 Cno, Cname, Chours, Credit, tno 字段
- sc 表:包含 Sno, Cno, Score 字段
- student 表:包含 Sno, Sname, Ssex, Sage, Sclass, Scold 字段
- teacher 表:包含 tno, tname, tsex, trank, tempdate 字段
现在需要查询 sc 表中 Score 最高的信息,并显示 Sno、Sname 和 Score。可以使用以下 SQL 语句实现:
SELECT s.Sno, s.Sname, MAX(sc.Score) AS Score
FROM sc
INNER JOIN student s ON s.Sno = sc.Sno
GROUP BY s.Sno, s.Sname
ORDER BY Score DESC
LIMIT 1;
SQL 语句解释:
- INNER JOIN: 使用 INNER JOIN 将 sc 表和 student 表连接起来,根据学号 (Sno) 将它们关联起来,以便查询到学生的姓名和成绩。
- GROUP BY: 使用 GROUP BY 对学生的学号 (Sno) 和姓名 (Sname) 进行分组,以便使用 MAX 函数获取每个学生的最高分数。
- MAX(sc.Score) AS Score: 使用 MAX 函数获取每个学生在 sc 表中的最高分数,并使用 AS 给最高分数的列取一个别名叫做 Score。
- SELECT: 在 SELECT 语句中,选择学生的学号、姓名和最高分数 (Score)。
- ORDER BY Score DESC: 使用 ORDER BY 对最高分数进行降序排序 (DESC),方便查看最高分数。
- LIMIT 1: 使用 LIMIT 1 来限制查询结果只返回最高分数的那一行。
通过以上 SQL 语句,可以查询到 sc 表中 Score 最高信息的 Sno、Sname 和 Score。
原文地址: https://www.cveoy.top/t/topic/oocE 著作权归作者所有。请勿转载和采集!