问题 单项选择题

查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是( )。

A) SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号AND 课程号="101" AND 成绩>=ALL(SELECT 成绩 FROM 选课)
B) SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号="101")
C) SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号AND 成绩>=ANY(SELECT 成绩 FROM 选课 WHERE 课程号="101")
D) SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号AND 课程号="101" AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号="101")

答案

参考答案:D

解析: 本题所给出的4个选项中:
选项A)中的子查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是“101”课程得分大于等于所有科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询无结果,此选项错误。
选项B)中的查询并没有限定选择“课程号”为“101”,则此命令选择出来的结果是所有课程得分大于等于所有“101”科目成绩的记录,如果其余课目的成绩有记录大于“101”科目的最高成绩,则此查询将查询出错误结果,此选项错误。
选项C)中的查询并没有限定选择“课程号”为“101”,则此选项错误。

单项选择题
多项选择题