单选题
第(31)到(35)题见表3-1、表3-2:
表3-1“仓库”表
表3-2 “职工”表
单选题
检索在“北京”仓库工作的职工的“职工号”和“工资”字段,正确的命令是 ( )。
【正确答案】
C
【答案解析】[解析] 在SQL的简单连接查询中,可以通过FROM短语指定要查找的表,表之间要用逗号隔开,然后通过WHERE短语指定两表的连接条件,连接字段一般为两表中相同的字段,如果包含其他的筛选条件,要通过AND短语将两个条件进行连接。
单选题
执行以下SQL语句后,职工工资总和是( )。
SELECT SUM(工资)FROM 职工 WHERE 仓库号 IN;
(SELECT 仓库号 FROM 仓库 WHERE 所在地=“北京” OR 所在地=“广州”)
【正确答案】
C
【答案解析】[解析] 本题SQL语句的功能是检索仓库“所在地”在“北京”或“广州”的仓库中,所有职工的工资总和。在于查询中查询的是“所在地”在“北京”或“广州”的“仓库号”信息,然后在主查询中,查找“职工”表中“仓库号”与子查询所查“仓库号”相等的记录,统计这些仓库中所有职工的工资总和,SUM()函数为求和函数。本题中的IN 运算符相当于数据的集合运算符∈。
单选题
求至少有4个职工的每个仓库的总和( )。
【正确答案】
C
【答案解析】[解析] 本题中首先通过GROUP BY 短语对表记录按“仓库号”字段分组,然后通过 COUNT()函数统计每个组中所包含的记录数,即每个仓库中共有多少名职工,利用SUM()函数求每个仓库中职工的工资总和;最后限定输出仓库中至少有4名职工的记录,输出结果包括“仓库号”、统计的仓库人数和该仓库的职工工资总和。
在分组与计算查询语句中,使用HAVING 子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中,HAVING子句必须与GROUP BY短语同时使用。
单选题
SQL语句
SELECT DISTINCT 仓库号 FROM 职工 WHERE 工资>=ALL;
(SELECT 工资 FROM 职工 WHERE 仓库号=“WH3”)
执行语句后,显示的查询到的仓库号有( )。
【正确答案】
D
【答案解析】[解析] 本题的SQL语句功能是检索有职工工资大于等于仓库号“WH3”中所有职工工资的仓库号。本题中通过子查询检索“WH3”仓库中所有职工的工资,然后在主查询中检索有职工工资大于子查询所查的工资记录,即大于所有WH3中所有职工工资的职工所在的仓库号,DISTINCT短语的功能是去掉查询结果中重复的记录。
在SQL语句中可以利用ANY、ALL等量词进行查询。基本格式如下:
<表达式><比较运算符>[ANY|ALL|SOME](子查询)
其中,ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALL(所有的)表示只有子查询中的所有的行都符合条件,结果才成立。
单选题
向“仓库”表中新增一个“人数”字段,数据类型为数值型,宽度为2,正确的命令语句是( )。
【正确答案】
D
【答案解析】[解析] 利用SQL命令可以对基本表的结构进行修改,利用以下命令可以为表建立新的字段:
ALTER TABLE<表名>
ADD[[COLUMN][<字段名1><字段类型>[(<长度>[,<小数位数>])]
本题中CREATE TABLE 命令用来新建一个表,要修改已存在的表的结构需要使用ALTER TABLE 命令,另外,给表增加字段的短语是ADD COLUMN,而不是ALTER,其中COLUMN短语可以省略,ALTER是用来修改已有的字段,不能新增一个字段。