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

admin2016-08-24  25

问题 设数据库有如下表:图书(图书号,书名,单价)购书(顾客编号,图书号,数量,购书日期)已知购书表中已经保存了购买多本图书的信息。下列语句中,与“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(SE-LECT图书号FROM购书)
D、SELECT*FROM图书WHERE图书号= (SELECT图书号FROM购书)

答案A

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

最新回复(0)