使用下列数据表。仓库(仓库号C(3)、所在地C(8)、人数N(2))职工(仓库号C(3)、职工号C(2)、姓名C(8)、工资I)
单选题
检索有职工的工资大于或等于“WH1”仓库中所有职工“工资”的仓库号,正确的命令是( )。
【正确答案】
C
【答案解析】解析:本题的SQL语句功能是检索有职工工资大于等于仓库号“WH1”中所有职工工资的仓库号。本题中通过子查询检索“WH1”仓库中所有职工的工资,然后在主查询中检索有职工工资大于子查询所查的工资记录,即大于所有“WH1”中所有职工工资的职工所在的仓库号,DISTINCT短语的功能是去掉查询结果中重复的记录。 在SQL语句中可以利用ANY、ALL等量词进行查询。基本格式为:<表达式><比较运算符 >[ANY|ALL|SOME](子查询)。 其中,ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALL(所有的)只有子查询中的所有的行都符合条件,结果才成立。
单选题
有下列SQL语句:INSERT INTO 职工 VALUES("WH4","E15","张清",2800) 在命令窗口执行该命令后( )。
【正确答案】
D
【答案解析】解析:Visual FoxPro支持两种SQL插入格式,第一种为标准格式,第二种是Visual FoxPro的特殊格式。 第一种格式为: INSERT INTO<表名>[(字段名1[,字段名2,…])]; VALUES(表达式1[,表达式2,…]) 其中INSERT INTO<表名>说明向指定的表中插入记录。当插入的不是完整的记录时,可以用字段名1,字段名2,…指定字段:VALUE(表达式1[,表达式2,…给出具体的记录值。 该命令默认的是向表末尾新增一条记录。注意:插入的记录值要与相应的字段类型一致。
单选题
检索最少有4名职工仓库的职工平均工资( )。
【正确答案】
B
【答案解析】解析:在分组与计算查询语句中,使用HAVING子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中,HAVING子句必须与GROUP BY短语同时使用。本题中先由GROUP BY子句按“仓库号”对记录行进行分组;再执行COUNT()函数统计每组中有多少个记录,执行AVG()函数计算每个组的平均工资;最后执行 HAVING子句,只有记录总数大于等于4的组才输出结果,即仓库职工在4名(含)以上的。注意:此时输出的组记录是计算后的记录,即每组只包含一条记录,输出信息包括该仓库的仓库号、人数和平均工资。
单选题
为“仓库”表增加一个“面积”字段,类型为数值型,宽度是7,小数位数为2,正确的命令是( )。
【正确答案】
C
【答案解析】解析:利用SQL命令可以对基本表的结构进行修改,利用以下命令可以为表建立新的字段: ALTER TABLE<表名> ADD[[COLUMN][<字段名1><字段类型>[(<长度 >[,<小数位数>])] 本题中CREATE TABLE命令用来新建一个表,要修改已存在的表的结构需要使用ALTER TABLE命令。另外,给表增加字段的短语是ADD COLUMN,而不是 ALTER,其中COLUMN短语可以省略。ALTER是用来修改已有的字段,不能新增一个字段。
单选题
检索至少有一名职工信息的“仓库号”及仓库的“所在地”和“人数”,正确的SQL命令是( )。
【正确答案】
D
【答案解析】解析:本题中EXISTS属于SQL查询谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组,子查询要用圆括号括起来。本题SQL查询中的子查询查询的是“职12”表中“仓库号”等于“仓库”表中“仓库号”的数据,然后在外层查询中检索“仓库”表中的“仓库号”是否存在与子查询的查询结果中,将存在的“仓库号”显示其“仓库号”、“所在地”和“人数”的信息。