计算机二级

有“仓库”表和“保管工”表,检索工资大于1500元的保管工姓名和他们所在的仓库名( )。A.SELECT 姓名,仓库名 FROM 保管工; WHERE 工资>1500B.SELECT 姓名,仓库名 FROM 仓库; WHERE 工资>1500C.SELECT 姓名,仓库名 FROM 保管工,仓库; WHERE(工资>1500) OR (保管工.仓库号=仓库.仓库号)D.SELECT 姓名,仓库名 FROM 保管工,仓库; WHERE(工资>1500) AND (职工.仓库号=仓库.仓库号)

题目

有“仓库”表和“保管工”表,检索工资大于1500元的保管工姓名和他们所在的仓库名( )。

A.SELECT 姓名,仓库名 FROM 保管工; WHERE 工资>1500

B.SELECT 姓名,仓库名 FROM 仓库; WHERE 工资>1500

C.SELECT 姓名,仓库名 FROM 保管工,仓库; WHERE(工资>1500) OR (保管工.仓库号=仓库.仓库号)

D.SELECT 姓名,仓库名 FROM 保管工,仓库; WHERE(工资>1500) AND (职工.仓库号=仓库.仓库号)

参考答案和解析
正确答案:D
解析:本题中SQL查询属于多表连接查询,注意条件中关联字段的选取以及逻辑条件的设置。选项A)和选项B)中都缺少查询的数据表,且查询条件有误;选项C)中查询条件错误,应使用AND进行条件连接,而不是OR。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设学生表和成绩表的结构分别为(学号,姓名,所在系)和(学号,课程名,成绩),如果希望按分数降序查询出“英语系中选修了计算机课程的学生姓名和成绩”,则对应的SQL语句是()。

A. SELECT姓名,成绩FROM学生表,成绩表WHERE所在系一‘英语系’AND课

程名=‘计算机’AND学生表.学号=课程表,学号

B. SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课

程名=‘计算机’AND学生表.学号=课程表.学号ORDER BY成绩ASC

C. SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课

程名=计算机’AND学生表。学号=课程表。学号ORDER BY成绩

D. SELECT姓名,成绩FROM学生表,成绩表WHERE所在系=‘英语系’AND课

程名=‘计算机’AND学生表.学号一课程表.学号ORDER BY成绩DESC


参考答案D

第2题:

检索职工表中年龄大于50的职工姓名,正确的命令是( )。

A.SELECT姓名WHERE年龄>50

B.SELECT姓名FROM职工FOR年龄>50

C.SELECT姓名FROM职工SET年龄>50

D.SELECT姓名FROM职工WHERE年龄>50


正确答案:D
简单查询基于一个关系,即仅对一个表进行查询,可以包含简单的查询条件。SELECT<字段名列表>FROM<表名>WHERE<查询条件>“字段名列表”指查询结果中包含的字段名,多个字段名之间用半角逗号(,)分隔。“查询条件”是一个逻辑表达式,它是由多个表达式通过逻辑运算符(NOT、AND、OR)连接而成的,关系表达式中可以使用的关系运算符见下表。运算符含义运算符含义等于<小于<>,!=,#不等于<=小于或等于精确等于BETWEEN…AND在两组之间>大干lN在一组值的范围内>=大干或等于LIKE字符串匹配ISNULL为空值

第3题:

设某工厂数据库中有两个基本表:

车间基本表:DEPT(DNO,DNAME,MGR-NO),其属性分别表示车间编号、车间名和车间主任的职工号.

职工基本表:EMP(ENO,ENAME,SEX,SALARY,DNO),其属性分别表示职工号、姓名、性别、工资和所在车间的编号.

试用SQL语句完成下列操作:

检索“金工车间”的男职工的职工号和姓名.


正确答案:

SELECT ENO,ENAME
FROM EMP
WHERE SEX=‘男’AND DNO IN
(SELECTDNO
FROMDEPT
WHERE DNAME=‘金工车间’);

第4题:

设教师表的结构为:教师号、姓名、性别、职称、工资、所在系。若要查询“陈静”教师所讲授的课程,并列出姓名和课程名,应使用的语句SELECT-SQL是______。

A.SELECT 姓名,课程名FROM 教师表,授课表,课程表; WHERE 教师表.教师号=授课表.教师号AND 姓名=“陈静”

B.SELECT姓名,课程名FROM 教师表,授课表,课程表; WHERE 教师表.教师号=授课表.教师号AND授课表.课程号=课程表.课程号; AND姓名=“陈静”

C.SELECT姓名,课程名FROM 教师表,授课表,课程表; WHERE教师表.教师号=授课表.教师号AND授课表.教师号=课程表.课程号; AND姓名=“陈静”

D.SELECT姓名,课程名FROM 教师表,授课表,课程表; WHERE授课表.课程号=课程表.课程号AND姓名=“陈静”


正确答案:B
解析:本查询是在教师表和授课表及课程表之间进行的,在表的连接条件中应有教师表和授课表按教师号连接、授课表和课程表按课程号连接的条件。选项A中缺少了授课表和课程表连接的条件,选项B是正确的,选项C在授课表和课程表连接的条件中连接字段错误,选项D中缺少了教师表和授课表连接的条件。

第5题:

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

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

下列SELECT语句正确的是______。

A.SELECT*FROM'学生表'WHERE姓名=张三

B.SELECT*FROM'学生表'WHERE姓名=张三

C.SELECT*FROM学生表WHERE姓名=张三

D.SELECT*FROM学生表WHERE姓名=张三


正确答案:C
解析:SELECT语句中的表是不能用引号括起来的,而对于文本型的查找内容则要用单引号括起来。

第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 仓库 WHERE IN; (SELECT 仓库号 FROM 职工 WHERE 仓库号=职工.仓库号)

B.SELECT 仓库号,所在地,人数 FROM 仓库 WHERE 仓库号 IN; SELECT 仓库号 FROM 职工 WHERE 仓库号=仓库.仓库号)

C.SELECT 仓库号,所在地,人数 FROM 仓库 WHERE NOT EXISTS; (SELECT 仓库号 FROM 职工 WHERE 仓库号=仓库.仓库号)

D.SELECT 仓库号,所在地,人数 FROM 仓库 WHERE EXISTS; (SELECT 仓库号 FROM 职工 WHERE 仓库号=仓库.仓库号)


正确答案:D
解析:本题中EXISTS属于SQL查询谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组,子查询要用圆括号括起来。本题SQL查询中的子查询查询的是“职12”表中“仓库号”等于“仓库”表中“仓库号”的数据,然后在外层查询中检索“仓库”表中的“仓库号”是否存在与子查询的查询结果中,将存在的“仓库号”显示其“仓库号”、“所在地”和“人数”的信息。

第10题:

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

更多相关问题