单选题
仓库 (仓库号 C (3)、所在地C (8)、人数N (2))
职工 (仓库号C (3)、职工号C (2)、姓名C (8)、工资I)
单选题
检索有职工的工资大于或等于“WHI”仓库中所有职工“工资”的仓库号,正确的命令是( )。
【正确答案】
C
【答案解析】[解析] 选项C)中的SQL语句通过子查询检索“WH1”仓库中所有职工的工资,然后在主查询中检索有职工工资大于子查询所查的工资的记录,即大于所有WH1中所有职工工资的职工所在的仓库号,DISTINCT短语的功能是去掉查询结果中重复的记录。
在SQL语句中可以利用ANY、ALL等量词进行查询。其中,ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALL(所有的)只有子查询中的所有的行都符合条件,结果才成立。
单选题
有如下SQL语句:
INSERT INTO 职工 VALUES("WH4","E15","张清",2800)
在命令窗口执行该命令后( )。
【正确答案】
D
【答案解析】[解析] SQL中,插入记录的命令格式为:
INSERT INTO<表名>[(字段名1[,字段名2,…])];
VALUES(表达式1[,表达式2,…])
该命令默认的是向表末尾新增一条记录,注意插入的记录值要与相应的字段类型一致。
单选题
检索最少有4名职工的仓库的职工平均工资( )。
【正确答案】
B
【答案解析】[解析] 本题中先由GROUPBY子句按“仓库号”对记录行进行分组;再执行COUNT()函数统计每组中有多少个记录,执行。AVG()函数计算每个组的平均工资;最后执行HAVING子句,只有记录总数大于等于4的组才输出结果,即仓库职工在4名(含)以上的,注意,此时输出的组记录是计算后的记录,即每组只包含一条记录,输出信息包括该仓库的仓库号、人数和平均工资。
单选题
检索至少有一名职工信息的“仓库号”及仓库的“所在地”和“人数”,正确的SQL命令是( )。
【正确答案】
D
【答案解析】[解析] 本题中EXISTS属于SQL查询谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组,子查询要用圆括号括起来。选项D)的SQL查询中的子查询查询的是“职工”表中“仓库号”等于“仓库”表中“仓库号”的数据,然后在外层查询中检索“仓库”表中的“仓库号”是否存在于子查询的查询结果中,将存在的“仓库号”显示其“仓库号”、“所在地”和“人数”的信息。