设数据库有如下表: 图书(图书号,书名,单价) 购书(顾客编号,图书号,数量,购书日期) 已知购书表中已经保存了购买多本图书的信息。下列语句中,与“SELECT*FROM图书WHERE图书号IN(SELECT图书号FROM购书)”语

admin2017-09-25  59

问题 设数据库有如下表:
    图书(图书号,书名,单价)
    购书(顾客编号,图书号,数量,购书日期)
    已知购书表中已经保存了购买多本图书的信息。下列语句中,与“SELECT*FROM图书WHERE图书号IN(SELECT图书号FROM购书)”语句等价的是(    )。

选项 A、SELECT*FROM图书WHERE图书号=ANY(SELECT图书号FROM购书)
B、SELECT*FROM图书WHERE图书号=ALL(SELECT图书号FROM购书)
C、SELECT*FROM图书WHERE EXISTS(SELECT图书号FROM购书)
D、SELECT*FROM图书WHERE图书号=(SELECT图书号FROM购书)

答案A

解析 在SQL中量词ANY表示在进行比较运算时只要子查询中有一行能使结果为真,则结果就是真,量词ALL表示表示在进行比较运算时只有子查询中所有行能使结果为真。则结果才是真。本题中语句“SELECT*FROM图书WHERE图书号IN(SELECT图书号FROM购书)”表示查找出被顾客购买的图书信息,此处的IN相当于集合运算符E,与量词ANY相同,故A选项正确。
转载请注明原文地址:https://jikaoti.com/ti/sGX0FFFM
0

最新回复(0)