设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,如下SQL语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别,正确的是 ______。

admin2013-05-15  29

问题 设有s(学号,姓名,性别)和sc(学号,课程号,成绩)两个表,如下SQL语句检索选修的每门课程的成绩都高于或等于85分的学生的学号、姓名和性别,正确的是 ______。

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

答案D

解析 查询操作使用SELECT命令,本题是连接查询和嵌套查询的结合使用,内层查询是将SC表和S表通过学号连接起来,查询的结果是选修的每门课程的成绩都小于85分的学生信息,外层查询表中不在内层查询结果中出现的学生的学号、姓名和性别,在WHERE条件短语中要用NOT EXISTS谓词。EXISTS是谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。
转载请注明原文地址:https://kaotiyun.com/show/yKsp777K
0

最新回复(0)