使用如下三个数据表 学生表:S(学号,姓名,性别,出生日期,院系) 课程表:C(课程号,课程名,学时) 选课成绩表:SC(学号,课程号,成绩) 在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。

admin2017-06-19  41

问题 使用如下三个数据表
    学生表:S(学号,姓名,性别,出生日期,院系)
    课程表:C(课程号,课程名,学时)
    选课成绩表:SC(学号,课程号,成绩)
    在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。
    用SQL命令查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是

选项 A、SELECT 学号,姓名FORM S WHERE NOT EXISTS;
(SELECT*FROM SC WHERE SC.学号=S.学号AND成绩<85)
B、SELECT 学号,姓名FORM S  WHERE NOT EXISTS;
(SELECT*FROM SC WHERE SC.学号=S.学号AND成绩>=85)
C、SELECT学号,姓名FORM S,SC
WHERE S.学号=SC.学号AND成绩>=85
D、SELECT学号,姓名FORM S,SC
WHERE S.学号=SC.学号AND ALL 成绩>=85

答案A

解析 NOT EXIS等价于NOT IN,是用来查询出不存在于子查询中的记录。选项B用NOT。EXISTS检查出的是不大于或等于85分的成绩范围内学生,正好与题意相反,所以是错误的;选项C只要有一门成绩大于或等于85分,就能被查询出来。题中要求是每门成绩都要高于或等于85分;选项D查询语句错误,不能使用ALL短语。
转载请注明原文地址:https://jikaoti.com/ti/K5X0FFFM
0

最新回复(0)