下列小题使用如下数据表: 学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D) 选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 查询选修课程号为“007”课程得分最高的学生,正确的SQL语句是( )。

admin2013-11-12  16

问题 下列小题使用如下数据表:
学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D)
选课(学号(C,8),课程号(C,3),成绩(N,5,1))
查询选修课程号为“007”课程得分最高的学生,正确的SQL语句是(    )。

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

答案D

解析 所有选项都是通过嵌套查询来实现题目的要求.因此来看关键字:ALL要求子查询中的所有行结果为真,结果才为真;ANY只要子查询中有一行能使结果为真,则结果就为真。最高分应该为成绩>=ALL(…),要查询选课号为“007”的同学,所以内外查询中都要用到条件:课程号=”007”。
转载请注明原文地址:https://jikaoti.com/ti/xlT0FFFM
0

最新回复(0)