单选题 设有购买表(顾客号,商品号,购买时间)。现要查询2012年顾客A购买了但顾客B没有购买的商品。有下列查询语句:
Ⅰ.SELECT商品号FROM购买表
WHERE YEAR(购买时间)="2012"AND顾客号="A "
AND商品号NOT IN(
SELECT商品号FROM购买表
WHERE YEAR(购买时间)="2012"AND顾客号="B ")
Ⅱ.SELECT商品号FROM购买表
WHERE YEAR(购买时间)= "2012"AND顾客号="A"
EXCEPT
SELECT商品号FROM购买表
WHERE YEAR(购买时间)= "2012 "AND顾客号="B"
Ⅲ.SELECT商品号FROM购买表
WHERE YEAR(购买时间)= "2012 " AND顾客号="A"
INTERSECT
SELECT商品号FROM购买表
WHERE YEAR(购买时间)= "2012"AND顾客号="B"
Ⅳ.SELECT商品号FROM购买表
WHERE YEAR(购买时间)= "2012"AND顾客号="A"
UNl0N
SELECT商品号FROM购买表
WHERE YEAR(购买时间)= "2012"AND顾客号="B"
上述语句中,能够实现该查询要求的是______。
【正确答案】 A
【答案解析】[解析] Ⅲ选项中INTERSECT返回两个集合皆有的数据,该SQL语句返回顾客A和B都购买的商品号,不符合题意;Ⅳ选项中的UNION查询出了顾客A购买的商品,通过UNION关键字合并了顾客B没有购买的商品,因此总的视图为顾客A购买的商品和B没有购买的商品总和,不符合要求。Ⅰ、Ⅱ实现的是顾客A购买商品集合与顾客B购买商品集合的差集。因此满足要求的为Ⅰ和Ⅱ,答案为A。