计算机二级

设有职工表(其中包含字段:职工号,仓库号,工资),查询仓库号是“CK1”的职工信息,并按工资降序排序,正确的SQL命令是( )。A)SELECT﹡FROM职工表WHERE仓库号=”CK1”ORDER BY工资DESCB)SELECT﹡FROM职工表WHILE仓库号=”CK1”ORDER BY工资ASCC)SELECT﹡FROM职工表WHERE仓库号=”CK1”ORDER BY工资ASCD)SELECT﹡FROM职工表WHERE仓库号=”CK1”GROUP BY工资DESC

题目

设有职工表(其中包含字段:职工号,仓库号,工资),查询仓库号是“CK1”的职工信息,并按工资降序排序,正确的SQL命令是( )。

A)SELECT﹡FROM职工表WHERE仓库号=”CK1”ORDER BY工资DESC

B)SELECT﹡FROM职工表WHILE仓库号=”CK1”ORDER BY工资ASC

C)SELECT﹡FROM职工表WHERE仓库号=”CK1”ORDER BY工资ASC

D)SELECT﹡FROM职工表WHERE仓库号=”CK1”GROUP BY工资DESC

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

第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题:

有如下关系:[*]查询、显示表中记录的全部属性值,显示顺序按仓库号相同按工资升序排序。实现上述功能的SQL查询语句为SELECT*FROM职工【 】BY仓库号,工资。


正确答案:ORDER
ORDER 解析:应该使用查询语句SELECT,使用通配符“*”表示输出全部属性,使用谓词ORDER BY和两个属性名实现多重排序。

第3题:

给WH1仓库的职工提高10%的工资可使用命令

A.UPDATE 职工 WHERE 工资=工资*1.10 FOR 仓库号="WH1"

B.UPDATE 职工 SET 工资=工资*1.10 WHERE 仓库号="WH1"

C.UPDATE 职工 SET 工资=工资*1.10 FOR 仓库号="WH1"

D.UPDATE FROM 职工 SET 工资=工资*1.10


正确答案:B
解析:本题考查了SQL语言的更新语句。SQL数据更新命令为:UPDATE TableName SET Column_name1=eExpression1[,Column_name2= eExpression2…] WHERE Condition SQL语言的插入和删除语句(INSERT和DELETE)。

第4题:

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

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子句可以对分组条件做进一步限定。

第5题:

检索最少有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名(含)以上的。注意:此时输出的组记录是计算后的记录,即每组只包含一条记录,输出信息包括该仓库的仓库号、人数和平均工资。

第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题:

检索有职工的工资大于或等于“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(所有的)只有子查询中的所有的行都符合条件,结果才成立。

第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题:

利用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职工表)

第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名(含)以上的。注意:此时输出的组记录是计算后的记录,即每组只包含一条记录,输出信息包括该仓库的仓库号、人数和平均工资。

更多相关问题