问题
单项选择题
有如下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是谓词,用来检查在子查询中时候有结果返回。