使用下列数据表。“仓库”表 仓库号 所在地WH2 北京WH2 上海WH3 广州WH4 天津“职工”表 职工号 仓库号 工资E1 WH1 2100E2 WH2 1500E3 WH3 1350E4 WH1 1850E5 WH3 1900E6 WH1 2000E7 WH4 1450E8 WH2 1200E9 WH1 1600
单选题 检索在“北京”仓库工作的职工的“职工号”和“工资”字段,正确的命令是(  )。
【正确答案】 C
【答案解析】解析:在SQL的简单连接查询中,可以通过FROM短语指定要查找的表,表之间要用逗号隔开,然后通过 WHERE短语指定两表的连接条件,连接字段一般为两表中相同的字段,如果包含其他的筛选条件,要通过AND短语将两个条件进行连接。
单选题 执行下列SQL语句后,职工工资总和是(  )。SELECT SUM(工资) FROM 职工 WHERE 仓库号 IN; (SELECT 仓库号 FROM 仓库 WHERE 所在地="北京" OR 所在地="广州")
【正确答案】 C
【答案解析】解析:本题SQL语句的功能是检索仓库“所在地”在“北京”或“广州”的仓库中,所有职工的工资总和。在于查询中查询的是“所在地”在“北京”或“广州”的“仓库号”信息,然后在主查询中,查找“职工”表中“仓库号”与子查询所查“仓库号”相等的记录,统计这些仓库中所有职工的工资总和,SUM()函数为求和函数。本题中的m运算符相当于数据的集合运算符∈。
单选题 求至少有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[[COLMN][<字段名1><字段类型>[(<长度>[,<小数位数>])] 本题中CREATE TABLE命令用来新建一个表,要修改已存在的表的结构需要使用ALTER TABLE命令。另外,给表增加字段的短语是ADD COLUMN,而不是 ALTER,其中COLUMN短语可以省略,ALTER是用来修改已有的字段,不能新增一个字段。