问题 单项选择题

有如下SQL语句:
  SELECT姓名FROM学生表WHERE学号IN;
  (SELECT学号FROM成绩表WHERE成绩>90)
  下列哪条命令与该SQL语句等价
A) SELECT姓名FROM学生表WHERE EXISTS;
  (SELECT学号FROM成绩表WHERE成绩>90)
B) SELECT姓名FROM学生表WHERE EXISTS;
  (SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)
C) SELECT姓名FROM学生表WHERE学号EXISTS;
  (SELECT学号FROM成绩表WHERE学号=学生表.学号AND成绩>90)
D) SELECT姓名FROM学生表WHERE学号=;
  (SELECT学号FROM成绩表WHERE成绩>90)

答案

参考答案:B

解析:【解析】IN是包含运算,此处子查询中得到多个结果,记录不惟一,因此不用“=”运算符;EXISTS是谓词,用来检查在子查询中时候有结果返回。

单项选择题 A3/A4型题
单项选择题