问题
单项选择题
使用如下三个数据库表:
学生(学号C(8),姓名C(8),性别C(2),班级C(8))
课程(课程编号C(8),课程名称C(20))
成绩(学号C(8),课程编号C(8),成绩N(5,1))
查询每门课程的最高分,要求得到的信息包括课程名和最高分,正确的命令是
A. SELECT 课程.课程名称,MAX(成绩) AS 最高分 FROM 成绩,课程;
WHERE 成绩.课程编号=课程.课程编号;
GROUP BY 课程,课程编号
B. SELECT课程,课程名称,MAX(成绩)AS 最高分 FROM 成绩,课程;
WHERE 成绩.课程编号=课程.课程编号;
GROUP BY 课程编号
C. SELECT 课程.课程名称,MIN(成绩)AS 最高分 FROM 成绩,课程;
WHERE 成绩.课程编号=课程.课程编号;
GROUP BY 课程.课程编号
D. SELECT 课程.课程名称,MIN(成绩)AS 最高分 FROM 成绩,课程;
WHERE 成绩.课程编号=课程.课程编号;
GROUP BY 课程编号
答案
参考答案:A
解析: 求最大值要利用MAX函数。要查询每门课程的最高分,需要对课程进行分组。由于课程名称可能出现重名,因此分组依据为课程编号,且注意记录的唯一性,利用AS短语。可将“成绩”字段名重新命名为“最高分”作为新的字段名,用于显示查询结果。选项B)的分组条件中,没有指定从哪个表中进行记录分组,因此系统报错。选项C)和选项D)的计算函数使用错误。