下列题使用如下的“仓库”表和“职工”表,表结构如下: 仓库(仓库号C(3)、所在地C(8)、人数N(2)) 职工(仓库号C(3)、职工号C(2)、姓名C(8)、工资I) 检索有职工的工资大于或等于“WH1”仓库中所有职工“工资”的仓库号,

admin2015-12-21  11

问题 下列题使用如下的“仓库”表和“职工”表,表结构如下:
    仓库(仓库号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

解析 选项C中的SQL语句通过子查询检索“WH1”仓库中所有职工的工资,然后在主查询中检索有职工工资大于子查询所查的工资的记录,即大于所有WHl中所有职工工资的职工所在的仓库号,DISTINCT短语的功能是去掉查询结果中重复的记录。  
    在SQL语句中可以利用ANY、ALI,等量词进行查询。其中,ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALl(所有的)只有子查询中的所有的行都符合条件,结果才成立。
转载请注明原文地址:https://jikaoti.com/ti/Hjr0FFFM
0

最新回复(0)