问题 单项选择题

~(35)题使用如下的“仓库”表和“职工”表,表结构如下:
仓库(仓库号C(3)、所在地C(8)、人数N(2))
职工(仓库号C(3)、职工号C(2)、姓名C(8)、工资I)

检索至少有一名职工信息的“仓库号”及仓库的“所在地”和“人数”,正确的SQL命令是( )。

A.SELECT仓库号,所在地,人数FROM仓库WHERE IN;
(SELECT仓库号FROM职工WHERE仓库号=职工.仓库号)

B.SELECT仓库号,所在地,人数FROM仓库WHERE仓库号IN;
SELECT仓库号FROM职工WHERE仓库号=仓库.仓库号

C.SELECT仓库号,所在地,人数FROM仓库WHERE NOT EXISTS;
(SELECT仓库号.FROM职工WHERE仓库号=仓库.仓库号)

D.SELECT仓库号,所在地,人数FROM仓库WHERE:EXISTS;
(SELECT仓库号FROM职工WHERE仓库号=仓库.仓库号)

答案

参考答案:D

解析: 本题中EXISTS属于SQL查询谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组,子查询要用圆括号括起来。选项D) 的SQL查询中的子查询查询的是“职工”表中“仓库号”等于“仓库”表中“仓库号”的数据,然后在外层查询中检索“仓库”表中的“仓库号”是否存在于子查询的查询结果中,将存在的“仓库号”显示其“仓库号”、“所在地”和“人数”的信息。

问答题 简答题
名词解释