📌  相关文章
📜  教资会网络 | UGC NET CS 2016 年 7 月 – II |问题 35(1)

📅  最后修改于: 2023-12-03 15:26:03.592000             🧑  作者: Mango

UGC NET CS 2016 年 7 月 - II - 问题 35

这是一道 UGC NET CS 考试的问题,出题者期望考生熟悉数据库查询语言。

问题描述

给定下面的表结构:

| Students | | | | | | Subjects | | | |
|----------|-----|--------|--------------|-----|--------------|----------|-----|--------|--------------|
| ID | INT | NOT NULL | PRIMARY KEY | | | ID | INT | NOT NULL | PRIMARY KEY |
| Name | | | | | | Name | | | |
| Age | | | | | | Marks| INT | | |

请编写一个 SQL 查询,查询出分数最高的学生的名字和分数。

解题思路

题目要求查询出分数最高的学生的名字和分数。因此,我们需要使用 SQL 的聚合函数 MAX() 来计算最高分,再用 JOIN 将两个表连接起来,得到最高分的学生信息。

下面是查询代码:

SELECT Students.Name, Subjects.Marks
FROM Students
JOIN Subjects
ON Students.ID = Subjects.ID
WHERE Marks = (SELECT MAX(Marks) FROM Subjects);

代码中,我们使用了 SELECT 语句查询出学生的名字和分数,使用 JOIN 将两个表 StudentsSubjects 连接起来,使用 WHERE 过滤出分数最高的记录。其中,内层查询 SELECT MAX(Marks) FROM Subjects 用于计算最高分数。

总结

本文介绍了如何在 SQL 中使用聚合函数 MAX() 查询分数最高的学生的名字和分数。需要注意的是,在实际的开发中,数据库中的表结构和字段名称可能会有所不同,开发者需要根据实际情况进行适当的调整。