📅  最后修改于: 2023-12-03 15:26:03.592000             🧑  作者: Mango
这是一道 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
将两个表 Students
和 Subjects
连接起来,使用 WHERE
过滤出分数最高的记录。其中,内层查询 SELECT MAX(Marks) FROM Subjects
用于计算最高分数。
本文介绍了如何在 SQL 中使用聚合函数 MAX()
查询分数最高的学生的名字和分数。需要注意的是,在实际的开发中,数据库中的表结构和字段名称可能会有所不同,开发者需要根据实际情况进行适当的调整。