设数据库有如下表: 产品(产品号,产品名,型号,单价) 购买(购买编号,产品号,购买数量,购买日期) 若要查询“哪些产品从来没有购买过”,正确的SQL语句是( )。

admin2016-07-06  58

问题 设数据库有如下表:
    产品(产品号,产品名,型号,单价)
    购买(购买编号,产品号,购买数量,购买日期)
    若要查询“哪些产品从来没有购买过”,正确的SQL语句是(    )。

选项 A、SELECT木FROM产品WHERE NOT EXISTS(SELECT*FROM购买; WHERE产品号=产品.产品号)
B、SELECT*FROM产品WHERE产品号NOT EXISTS(SELECT产品号FROM购买)
C、SELECT*FROM产品WHERE产品号!=ANY(SELECT产品号FROM购买)
D、SELECT木FROM产品WHERE产品号=ANY(SELECT产品号FROM购买)

答案A

解析 NOT EXISTS用来检查在子查询中是否有结果返回(即存在元组或不存在元组)。本题中A项内层查询引用了外层查询的表,查询出在“产品”表中有而在“购买”表中没有的产品号,并给出该产品号对应的产品信息,故A项正确。选项B的命令格式错误。此格式不能使用NOT。EXISTS,应该使用IN或NOTIN。ANY是量词,在进行比较运算时只要子查询中有一行能使结果为真,则结果就为真,故C、D两项不符合题目要求。
转载请注明原文地址:https://kaotiyun.com/show/IBIp777K
0

最新回复(0)