计算机二级

第 30~32 题使用如下的“仓库”表和“职工”表:第 30 题 检索在“北京”仓库工作的职工的“职工号”和“工资”字段,正确的命令是( )。

题目

第 30~32 题使用如下的“仓库”表和“职工”表:

第 30 题 检索在“北京”仓库工作的职工的“职工号”和“工资”字段,正确的命令是( )。

如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

有如下SQL语句:

SELECT DISTINCT 仓库号 FROM 职工表 WHERE 工资>=ALL;

(SELECT 工资 FROM 职工表 WHERE 仓库号="A1")

执行语句后,显示查询到的仓库号有

A.A1

B.A3

C.A1,A2

D.A1,A3


正确答案:D
解析:本题查询的是职工的工资大于或等于A1仓库中所有职工工资的仓库号。在SQL语句中可以使用ANY,ALL等量词进行查询。其中ANY在进行比较运算时,只要子查询中有一行能使结果为真,则结果就为真;而ALL则要求子查询中的所有行都使结果为真时,结果才为真。

第2题:

检索有职工的工资大于或等于“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
解析:本题的SQL语句功能是检索有职工工资大于等于仓库号“WH1”中所有职工工资的仓库号。本题中通过子查询检索“WH1”仓库中所有职工的工资,然后在主查询中检索有职工工资大于子查询所查的工资记录,即大于所有“WH1”中所有职工工资的职工所在的仓库号,DISTINCT短语的功能是去掉查询结果中重复的记录。
在SQL语句中可以利用ANY、ALL等量词进行查询。基本格式为:表达式>比较运算符 >[ANY|ALL|SOME](子查询)。
其中,ANY(任意的)和SOME(一些)表示只要子查询中存在符合条件的行,结果就成立;而ALL(所有的)只有子查询中的所有的行都符合条件,结果才成立。

第3题:

第(30)-(35)题使用如下三个表:部门.DBF:部门号C(8),部门名C(12),负责人C(6),电话C(16)

职工.DBF:部门号C(8),职工号C(10),姓名C(8),性别C(2),出生日期D

工资.DBF:职工号C(10),基本工资N(8.2),津贴N(8.2),奖金N(8.2),扣除N(8.2)

第30题:查询职工实发工资的正确命令是

A.SELECT 姓名,(基本工资+津贴+奖金-扣除)AS 实发工资 FROM 工资

B.SELECT 姓名,(基本工资+津贴+奖金-扣除)AS 实发工资 FROM 工资;WHERE 职工.职工号=工资.职工号

C.SELECT 姓名,(基本工资+津贴+奖金-扣除)AS 实发工资;FROM 工资;职工 WHERE 职工.职工号=工资.职工号

D.SELECT 姓名, (基本工资+津贴+奖金-扣除)AS 实发工资;FROM 工资;JOIN 职工 WHERE 职工.职工号=工资. 职工号


正确答案:C

第4题:

有如下SQL语句:

SELECT SUM(工资) FROM 职工表 WHERE 仓库号 IN;

(SELECT 仓库号 FROM 仓库表 WHERE 所在城市="北京" OR 所在城市="上海")

执行语句后,工资总和是

A.3500.00

B.3000.00

C.5000.00

D.10500.00


正确答案:A
解析:本题SQL查询语句的功能是统计在北京和上海仓库工作的职工的工资总和。

第5题:

利用SQL语句,检索仓库中至少有一名职工的仓库信息,正确的命令是______.

A.SELECT。FROM仓库表WHEREIN; (SELECT仓库号FROM职工表)

B.SELECT 2p FROM仓库表WHERENOTm; (SELECT仓库号FROM职工表)

C.SELECT::FROM仓库表WHERE仓库号EXISTS; (SELECT*FROM职工表WHERE仓库号:仓库表.仓库号)

D.SELECT*FROM仓库表WHEREEXISTS; (SEL。E(:T*FROM职工表WHERE仓库号:仓库表.仓库号)


正确答案:D
解析:利用EXISTS或NOTEXISTS,可用来检查在子查询中是否有结果返回。利用运算符IN来表示,可写成如下格式: SELECT*FROM仓库表WHERE仓库IN; (SELECT仓库号FROM职工表)

第6题:

有“仓库”表和“职工”表,检索仓库中基本工资大于3000元的职工姓名和他们所在的仓库名

A.SELECT姓名,仓库名FROM职工; WHERE基本工资>3000

B.SELECT姓名,仓库名FROM仓库; WHERE基本工资>3000

C.SELECT姓名,仓库名FROM职工,仓库; WHERE(基本工资>3000)OR(职工.仓库号=仓库.仓库号)

D.SELECT姓名,仓库名FROM职工,仓库; WHERE(基本工资>3000)AND(职工.仓库号=仓库.仓库号)


正确答案:D
解析:本题中SQL查询属于多表联接查询,注意条件中关联字段的选取以及逻辑条件的设置。选项A)和选项B)中都缺少查询的数据表,且查询条件有误;选项C)中查询条件错误,应使用AND进行条件连接,而不是OR。

第7题:

检索职工表中工资大于800元的职工号,正确的命令是

A.SELECT职工号WHERE工资>800

B.SELECT职工号FROM职工SET工资>800

C.SELECT职工号FROM职工WHERE工资>800

D.SELECT职工号FROM职工FOR工资>800


正确答案:C
解析:SELECT查询语句最基本的格式为SELECT—FROM—WHERE。选项A) 缺少FROM短语,选项B) 和D) 中条件短语错误。

第8题:

检索在广州仓库工作的职工记录,要求显示职工号和工资字段,正确的命令是

仓库表

仓库号 所在城市

A1 北京

A2 上海

A3 天津

A4 广州

职工表

职工号 仓库号 工资

M1 A1 2000.00

M3 A3 2500.00

M4 A4 1800.00

M5 A2 1500.00

M6 A4 1200.00

A.SELECT 职工号,工资 FROM 职工表; WHERE 仓库表.所在城市="广州"

B.SELECT 职工号,工资 FROM职工表; WHERE 仓库表.仓库号=职工表.仓库号; AND 仓库表.所在城市="广州"

C.SELECT 职工号,工资 FROM 仓库表,职工表; WHERE 仓库表.仓库号=职工表.仓库号; AND 仓库表.所在城市="广州"

D.SELECT 职工号,工资 FROM 仓库表,职工表; WHERE 仓库表.仓库号=职工表.仓库号; OR 仓库表.所在城市="广州"


正确答案:C
解析:本题中,通过仓库号字段将仓库表和职工表进行联接,查询仓库所在地是"广州"的记录。

第9题:

求至少有两个职工的每个仓库的平均工资

A.SELECT 仓库号,COUNT(*),AVG(工资)FROM 职工表; HAVING COUNT(*)>=2

B.SELECT 仓库号,COUNT(*),AVG(工资)FROM 职工表; GROUP BY 仓库号 HAVING COUNT(*)>=2

C.SELECT 仓库号,COUNT(*),AVG(工资)FROM 职工表; GROUP BY 仓库号 SET COUNT(*)>=2

D.SELECT 仓库号,COUNT(*),AVG(工资)FROM 职工表; GROUP BY 仓库号 WHERE COUNT(*)>=2


正确答案:B
解析:本题利用SQL分组查询的功能,计算至少有两个职工的每个仓库的平均工资,利用HAVING子句可以对分组条件做进一步限定。

第10题:

检索最少有4名职工仓库的职工平均工资的语句为( )。

A.SELECT 仓库号,COUNT(*) AS人数,AVG(工资) AS 平均工资 FROM 职工; GROUPBY 仓库号 WHERE COUNT(*)>=4

B.SELECT 仓库号,COUNT(*) AS人数,AVG(工资) AS 平均工资 FROM 职工; GROUPBY 仓库号 HAVING COUNT(*)>=4

C.SELECT 仓库号,COUNT(*) AS人数,AVG(工资) AS 平均工资 FROM 职工; GROUPBY 职工号 WHERE COUNT(*)>=4

D.SELECT 仓库号,COUNT(*) AS人数,AVG(工资) AS 平均工资 FROM 职工; GROUPBY 职工号 HAVING COUNT(*)>=4


正确答案:B
解析:在分组与计算查询语句中,使用HAVING子句可以对分组进一步加以控制。用这个子句定义这些组所必须满足的条件,以便将其包含在结果中,HAVING子句必须与GROUP BY短语同时使用。本题中先由GROUP BY子句按“仓库号”对记录行进行分组:再执行COUNT()函数统计每组中有多少个记录,执行AVG()函数计算每个组的平均工资;最后执行HAVING子句,只有记录总数大于等于4的组才输出结果,即仓库职工在4名(含)以上的。注意:此时输出的组记录是计算后的记录,即每组只包含一条记录,输出信息包括该仓库的仓库号、人数和平均工资。

更多相关问题