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

admin2013-01-17  29

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

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

答案A

解析 本题属于多表查询,使用联接查询或嵌套查询,选项C)和选项D)使用联接查询,使用时学号字段前要表明所属的表,写法都不完整;选项A)和选项B)中的EXISTS属于SQL查询谓词,EXISTS或NOTEXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组,子查询要用圆括号括起来。
转载请注明原文地址:https://kaotiyun.com/show/tGsp777K
0

最新回复(0)