问题 单项选择题

(31)到(35)题使用下列数据表。
仓库(仓库号C(3)、所在地C(8)、人数N(2))
职工(仓库号C(3)、职工号C(2)、姓名C(8)、工资I)

检索有职工的工资大于或等于“WH1”仓库中所有职工“工资”的仓库号,正确的命令是( )。

A.SELECT DISTINCT仓库号FROM职工WHERE工资>=ANY;(SELECT MAX(工资) FROM 职工 WHERE 仓库号="WH1")

B.SELECT DISTINCT仓库号 FROM 职工 WHERE 工资>=ANY;(SELECT 工资 FROM职工 WHERE 仓库号="WH1")

C.SELECT DISTINCT仓库号 FROM 职工 WHERE 工资>=ALL;(SELECT 工资 FROM职工 WHERE 仓库号="WH1")

D.SELECT DISTINCT仓库号 FROM 职工 WHERE 工资>=ALL;(SELECT MAX(工资)FROM 职工 WHERE仓库号="WH1")

答案

参考答案:C

解析: 本题的SQL语句功能是检索有职工工资大于等于仓库号“WHI”中所有职工工资的仓库号。本题中通过子查询检索“WHI”仓库中所有职工的工资,然后在主查询中检索有职工工资大于子查询所查的工资记录,即大于所有“WH1”中所有职工工资的职工所在的仓库号,DISTINCT短语的功能是去掉查询结果中重复的记录。 在SQL语句中可以利用ANY、ALL等量词进行查询。基本格式为:<表达式><比较运算符>[ANY|ALL|SOME](子查询)。 其中,ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALL(所有的)只有子查询中的所有的行都符合条件,结果才成立。

选择题
填空题