[计算机类试卷]国家二级VF机试(关系数据库标准语言SQL)模拟试卷8及答案与解析.doc

上传人:unhappyhay135 文档编号:500632 上传时间:2018-11-30 格式:DOC 页数:17 大小:51KB
下载 相关 举报
[计算机类试卷]国家二级VF机试(关系数据库标准语言SQL)模拟试卷8及答案与解析.doc_第1页
第1页 / 共17页
[计算机类试卷]国家二级VF机试(关系数据库标准语言SQL)模拟试卷8及答案与解析.doc_第2页
第2页 / 共17页
[计算机类试卷]国家二级VF机试(关系数据库标准语言SQL)模拟试卷8及答案与解析.doc_第3页
第3页 / 共17页
[计算机类试卷]国家二级VF机试(关系数据库标准语言SQL)模拟试卷8及答案与解析.doc_第4页
第4页 / 共17页
[计算机类试卷]国家二级VF机试(关系数据库标准语言SQL)模拟试卷8及答案与解析.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、国家二级 VF机试(关系数据库标准语言 SQL)模拟试卷 8及答案与解析 一、选择题 1 SQL的 SELECT语句中, “HAVING”用来筛选满足条件的 ( A)列 ( B)行 ( C)关系 ( D)分组 2 在 Visual FoxPro中,假设教师表 T(教师号,姓名,性别,职称,研究生导师 )中,性别是 C型字段,研究生导师是 L型字段。若要查询 “是研究生导师的女老师 ”信息,那么 SQL语句 “SELECT*FROM TWHERE逻辑表达式 ”中的逻辑表达式应是 ( A)研究生导师 AND 性别 “女 “ ( B)研究生导师 OR性别 “女 “ ( C)性别 “女 “AND研究生

2、导师 F ( D)研究生导师 T OR性别女 3 查询学生选修课程成绩小于 60分的学号,正确的 SQL语句是 ( A) SELECT DISTINCT 学号 FROM SC WHERE“成绩 “ 60 ( B) SELECT DISTINCT 学号 FROM SC WHERE 成绩 “60“ ( C) SELECT DISTINCT 学号 FROM SC WHERE成绩 60 ( D) SELECT DISTINCT “学号 “ FROM SC WHERE“成绩 “ 60 4 查询学生表 S的全部记录并存储于临时表文件 one中的 SQL命令是 ( A) SELECT*FROM 学生表 IN

3、TYO CURSOR one ( B) SELECT*FROM 学生表 TO CURSOR ODe ( C) SELECT*FROM 学生表 INTO CURSOR DBF one ( D) SELECT*FROM 学生表 TO CURSOR DBF one 5 查询成绩在 70分至 85分之间学生的学号、课程号和成绩,正确的 SQL语句是 ( A) SELECT学号,课程号,成绩 FROM sc WHERE成绩 BETWEEN 70 AND 85 ( B) SELECT学号,课程号,成绩 FROM sc WHERE成绩 70 OR成绩 85 ( C) SELECT学号,课程号,成绩 FROM

4、 sc WHERE成绩 70 OR 85 ( D) SELECT学号,课程号,成绩 FROM sc WHERE成绩 70 AND 85 6 查询有选课记录,但没有考试成绩的学生的学号和课程号,正确的 SQL语句是 ( A) SELECT学号,课程号 FROM sc WHERE成绩 “ ( B) SELECT学号,课程号 FROM sc WHERE成绩 NULL ( C) SELECT学号课程号 FROM sc WHERE成绩 IS NULL ( D) SELECT学号,课程号 FROM sc WIlERE成绩 7 查询选修 C2课程号的学生姓名,下列 SQL语句中错误是 ( A) SELECT

5、姓名 FROM S WHERE EXISTS (SELECT木 FROM SC WHERE 学号 S学号 AND课程号 C2) ( B) SELECT 姓名 FROM S WHERE 学号 IN (SELECT学号 FROM SC WHERE课程号 C2) ( C) SELECT姓名 FROM S JOIN SC ON S学号 SC学号 WHERE课程号C2 ( D) SELECT姓名 FROM S WHERE学号 (SELECT学号 FROM SC WHERE课程号 C2) 8 在 SQL SELECT语句中与 INTO TABLE等价的短语是 ( A) INTO DBF ( B) TO T

6、ABLE ( C) INTO FORM ( D) INTO FILE 9 若 SQL语句中的 ORDER BY短语中指定了多 个字段,则 ( A)依次按自右至左的字段顺序排序 ( B)只按第一个字段排序 ( C)依次按自左至右的字段顺序排序 ( D)无法排序 10 与 “SELECT*FROM 教师表 INTO DBF A”等价的语句是 ( A) SELECT*FROM 教师表 TO DBF A ( B) SELECT*FRoM 教师表 TO TABLE A ( C) SELECT*FROM 教师表 INTO TABLE A ( D) SELECT*FROM 教师表 INTO A 11 与 “

7、SELECT*FROM 教师表 INTO DBFA”等价的语句是 ( A) SELECT*FROM 教师表 TO DBF A ( B) SELECT*FROM 教师表 TO TABLE A ( C) SELECT*FROM 教师表 INTO TABLE A ( D) SELECT*FROM 教师表 INTO A 12 “教师表 ”中有 “职工号 ”、 “姓名 ”、 “工龄 ”和 “系号 ”等字段, “学院表 ”中有 “系名 ”和 “系号 ”等字段,计算 “计算机 ”系教师总数的命令是 ( A) SELECT COUNT(*)FROM 教师表 INNER JOIN学院表; ON教师表系号学院表

8、系号 WHERE 系名 “计算机 “ ( B) SELECT COUNT(*)FROM教师表 INNER JOIN 学院表; ON教师表系号学院表系号 ORDER BY 教师表系号; HAVING 学院表系名 “计算机 “ ( C) SELECT SUM(*)FROM 教师表 INNER JOIN 学院表; ON教师表系号学院表系号 GROUP BY 教师表系号: HAVING学院表系名 “计算机 “ ( D) SELECT SUM(*) FROM 教师表 INNER JOIN 学院表: ON教师表 系号学院表系号 ORDER BY 教师表系号; HAVING学院表系名 “计算机 “ 13 “

9、教师表 ”中有 “职工号 ”、 “姓名 ”、 “工龄 ”和 “系号 ”等字段, “学院表 ”中有 “系名 ”和 “系号 ”等字段,求教师总数最多的系的教师人数,正确的命令序列是 ( A) SELECT 教师表系号, COUNT(*)AS 人数 FROM 教师表,学院表; GROUP BY 教师表系号 INTO DBF TEMP SELECT MAX(人数 )FROM TEMP ( B) SELECT 教师表系号, COUNT(*)FROM 教师表,学院表; WHERE 教师表系号学院表系号 GROUP BY 教师表系号 INTO DBF TEMP SELECT MAX(人数 ) FROM TE

10、MP ( C) SELECT 教师表系号, COUNT(*)AS人数 FROM教师表,学院表; WHERE 教师表系号学院表系号 GROUP BY 教师表系号 TO FILE TEMP SELECT MAX(人数 )FROM TEMP ( D) SELECT 教师表系号, COUNT(*)AS 人数 FROM 教师表,学院表; WHERE 教师 表系号学院表系号 GROUP BY 教师表系号 INTO DBF TEMP SELECT MAX(人数 )FROM TEMP 14 查询尚未最后确定订购单的有关信息的正确命令是 ( A) SELECT 名称,联系人,电话号码,订单号 FROM 客户,订

11、购单 WHERE 客户客户号订购单客户号 AND 订购日期 IS NULL ( B) SELECT 名称,联系人,电话号码,订单号 FROM 客户,订购单 WHERE客户客户号订购单客户号 AND 订购日期 NULL ( C) SELECT名称 ,联系人,电话号码,订单号 FROM 客户,订购单 FOR客户客户号订购单客户号 AND 订购日期 IS NULL ( D) SELECT名称,联系人,电话号码,订单号 FROM客户,订购单 FOR客户客户号订购单客户号 AND 订购日期 NULL 15 查询订购单的数量和所有订购单平均金额的正确命令是 ( A) SELECT COUNT(DISTIN

12、CT订单号 ), AVG(数量 *单价 ) FROM 产品 JOIN 订购单名细 ON产品产品号订购单名细产品号 ( B) SELECT COUNT(订单号 ), AVG(数量木单价 ) FROM 产品 JOIN 订购单名细 ON 产品产品号订购单名细产品号 ( C) SELECT COUNT(DISTINCT订单号 ), AVG(数量 (单价 ) FROM产品,订购单名细 ON产品产品号订购单名细产品号 ( D) SELECT COUNT(订单号 ), AVG(数量 *单价 ) FROM产品,订购单名细 ON产品产品号订购单名细产品号 16 查询第一作者为 “张三 ”的所有书名及出版社,正确

13、的 SQL语句是 ( A) SELECT书名,出版社 FROM图书 WHERE第一 作者张三 ( B) SELECT书名,出版社 FROM图书 WHERE第一作者 “张三 “ ( C) SELECT书名,出版社 FROM图书 WHERE“第一作者 “张三 ( D) SELECT书名,出版社 FROM图书 WHERE“第一作者 “ “张三 “ 17 查询尚未归还的图书编号和借书日期,正确的 SQL语句是 ( A) SELECT图书编号,借书日期 FROM借阅 WHERE还书日期 “ ( B) SELECT图书编号,借书日期 FROM借阅 WHERE还书日期 NULL ( C) SELECT图书编

14、号,借书日期 FROM借阅 WHERE还书日期 IS NULL ( D) SELECT图书编号,借书日期 FROM借阅 WHERE还书日期 18 查询 “读者 ”表的所有记录并存储于临时表文件 one中的 SQL语句是 ( A) SELECT*FROM读者 INTO CURSOR one ( B) SELECT*FROM读者 TO CURSOR one ( C) SELECT*FROM 读者 INTO CURSOR DBF one ( D) SELECT*FROM 读者 TO CURSOR DBF one 19 查询单位名称中含 “北京 ”字样的所有读者的借书证 号和姓名,正确的 SQL语句是

15、 ( A) SELECT借书证号,姓名 FROM读者 WHERE单位 “北京 “ ( B) SELECT借书证号,姓名 FROM读者 WHERE单位 “北京 “ ( C) SELECT借书证号,姓名 FROM读者 WHERE单位 LIKE“北京 *“ ( D) SELECT借书证号,姓名 FROM读者 WHERE单位 LIKE“北京 “ 20 SQL语句中,能够判断 “订购日期 ”字段是否为空值的表达式是 ( A)订购日期 NULL ( B)订购日期 EMPTY ( C)订购日期 IS NULL ( D)订购日 期 IS EMPTY 21 查询在 “北京 ”和 “上海 ”区域的商店信息的正确命

16、令是 ( A) SELECT*FROM商店 WHERE区域名 北京 AND区域名 上海 ( B) SELECT*FROM商店 WHERE区域名 北京 OR区域名 上海 ( C) SELECT*FROM商店 WHERE区域名 北京 AND上海 ( D) SELECT*FROM商店 WHERE区域名 北京 OR上海 22 查询商品单价在 10到 50之间、并且日销售数量高于 20的商品名、单价、销售日期和销售数量,查询结果按单价降 序。正确命令是 ( A) SELECT商品名,单价,销售日期,销售数量 FROM商品 JOIN销售 WHERE(单价 BETWEEN 1 0 AND 50)AND销售数

17、量 20 ORDER BY单价 DESC ( B) SELECT商品名,单价,销售日期,销售数量 FROM商品 JOIN销售 WHERE(单价 BETWEEN 10AND 50)AND销售数量 20 ORDE RBY单价 ( C) SELECT商品名,单价,销售日期,销售数量 FROM商品,销售 WHERE(单价 BETWEEN 10 AND 50)AND销售数量 20 ON商品商品号销售商品号 ORDER BY单价 ( D) SELECT商品名,单价,销售日期,销售数量 FROM商品,销售 WHERE(单价 BETWEEN 10 AND 50)AND销售数量 20 AND商品商品号销售商品号

18、 ORDER BY单价 DESC 23 查询销售金额合计超过 20000的商店,查询结果包括商店名和销售金额合计。正确命令是 ( A) SELECT商店名, SUM(销售数量木单价 )AS销售金额合计 FROM商店,商品,销售 WHERE销售金额合计 20000 ( B) SELECT商店名, SUM(销售数量 *单价 )AS销售金额合计 20000 FROM商店,商品,销售 WHERE商品商品号销售商品号 AND商店商店号销售商店号 ( C) SELECT商店名, SUM(销售数量 *单价 )AS销售金额合计 FROM商店,商品,销售 WHERE商品商品号销售商品号 AND商店商店号销售商店

19、号 ( D) SELECT商店名, SUM(销售数量 *单价 )AS销售金额合计 FROM商店,商品,销售 WHERE商品商品号销售商品号 AND商店商店号销售商店号 24 设有学生表 student(学号,姓名,性别,出生日期,院系 )、课程表 course(课程号,课程名,学时 )3n选课表 score(学号,课程号,成绩 ),查询同时选修课程号为C1和 C5课程的学生的学号,正确的命令是 ( A) SELECT 学号 FROM score sc WHERE 课程号 C1AND学号 IN; (SELECT 学号 FROM score sc WHERE 课程号 C5) ( B) SELECT

20、 学号 FROM score sc WHERE 课程号 C1AND学号; (SELECT 学号 FROM score sc WHERE 课程号 C5) ( C) SELECT 学号 FROM score sc WHERE 课程号 C1AND课程号 C5 ( D) SELECT 学号 FROM score sc WHERE 课程号 C1ORC5 25 SQL查询命令的结构是 SELECTFROMWHEREGROUP BYHAVING ORDER BY ,其中指定查询条件的短语是 ( A) SELECT ( B) FROM ( C) WHERE ( D) ORDER BY 26 SQL查询命令的结

21、构是 SELECTFROMWHEREGROUP BYHAVINGORDER BY ,其中 HAVING必须配合使用的短语是 ( A) FROM ( B) GROUP BY ( C) WHERE ( D) ORDER BY 27 如果在 SQL查询的 SELECT短语中使用 TOP,则应该配合使用 ( A) HAVING 短语 ( B) GROU BY短语 ( C) WHERE 短语 ( D) ORDER BY短语 国家二级 VF机试(关系数据库标准语言 SQL)模拟试卷 8答案与解析 一、选择 题 1 【正确答案】 D 【试题解析】 本题考查的是 “HAVING”短语的含义。在 SQL的 SE

22、LECT语句中, GROUP BY,分组字段 2ItAVING 分组限定条件 ,可以按一列或多列分组,还可以使用 HAVING进一步限定分组的条件。 HAVING子句总是跟在 GROU BY子句之后,不可以单独使用。 【知识模块】 关系数据库标准语言 SQL 2 【正确答案】 A 【试题解析】 根据题意,查询应该同时满足两个条件,即 “研究生导师 ”和 “女老师 ”,两个条件应该用 AND连 接,故选项 B和选项 C错误;由于 “研究生导师 ”字段是逻辑型,对应表达式应写为 “研究生导师 T ”或者 “研究生导师 ”。 【知识模块】 关系数据库标准语言 SQL 3 【正确答案】 C 【试题解析

23、】 查询条件 “课程成绩小于 60分 ”对应的条件表达式应该书写为 “成绩i 60”。 【知识模块】 关系数据库标准语言 SQL 4 【正确答案】 A 【试题解析】 将查询结果保存在临时表中应使用短语 INTO CURSOR。 【知识模块】 关系数据库标准语言 SQL 5 【正确答案】 A 【试题解析】 如果查询条件的值是在什么范围之内,可以使用BETWEENAND 运算。 【知识模块】 关系数据库标准语言 SQL 6 【正确答案】 C 【试题解析】 查询空值时要使用 IS NULL,而 NULL是无效的,因为空值不是一个确定的值,所以不能用 “ ”这样的运算符进行比较。 【知识模块】 关系数

24、据库标准语言 SQL 7 【正确答案】 D 【试题解析】 选项 A中,使用 EXISTS谓词来检查子查询中是否有结果返回,它的查询过程是:首先在外查询中,从 S表中取出第一 条记录,再在内查询中,针对该记录,在 SC表中逐条记录判断是否存在符合 where条件 (即 “选修 C2课程号的学生 ”)的记录,如果存在,则从外查询的 S表中查找出该记录对应的 “姓名 ”值;然后依次类推,从 S表中取出第二条记录,在内查询中与 SC表中的所有记录进行比较,直到将 S表中的所有记录都处理完毕。选项 B是嵌套查询,先在内查询中从 SC表中获得选修了 C2课程号的学生的 “学号 ”,再在外查询中从 S表中查

25、找出这些 “学号 ”对应学生的 “姓名 ”,由于选修了 C2课程号的学生可能不止一个,因此在内查询中获得的 “学号 ”是一个集合,因此应 该使用运算符 IN。 选项 C是联接查询,将 S表和 SC表以 “学号 ”字段相等为条件进行联接,查找出选修了 C2课程号的学生。 【知识模块】 关系数据库标准语言 SQL 8 【正确答案】 A 【试题解析】 SQL SELECT语句中 INTO TABLE短语和 INTO DBF短语都可用来定义将查询结果存放到永久表中。另外, INTO ARRAY将查询结果存放到数组, INTO CURSOR将查询结果存放到临时表, TO FILE将查询结果存放到文本文件

26、中。 【知识模块】 关系数据库标准语言 SQL 9 【正确答案】 C 【试题解析】 通过在 SELECT语句中加入 ORDER BY可将查询结果排序,可以按升序和降序排序,命令格式如下: ORDER BYASC DESC,排序字段 2ASCIDESC 。 ASC表示按升序排序, DESC表示按降序排序,可以按一列或多列排序,升序是默认的排列方式。如果短语中指定多个字段,则依次按自左向右的顺序进行排序。 【知识模块】 关系数据库标准语言 SQL 10 【正确答案】 C 【试题解析】 本题考查查询结果的去向。若 在 SELECT语句中使用 INTO DBF TABLE,则可以将查询的结果存放到表中

27、,该表是自由表。 【知识模块】 关系数据库标准语言 SQL 11 【正确答案】 C 【试题解析】 使用短语 INTODBFITABLE TableName可以将查询结果存放到永久表中 (dbf文件 )。生成的表文件是一个自由表。所以与 “SELECT*FROM教师表INTO DBF A”等价的是 “SELECT*FROM教师表 INTO TABLEA”。 【知识模块】 关系数据库标准语言 SQL 12 【正确 答案】 A 【试题解析】 由于题意中要求计算系名为 “计算机 ”的教师总数,所以 SOL语句的 WHERE子句应该为 WHERE系名 “计算机 ”,所以正确的是选项 A。 【知识模块】

28、关系数据库标准语言 SQL 13 【正确答案】 D 【试题解析】 由于 “教师表 ”与 “学院表 ”是通过 “系号 ”进行关系的连接,而选项 A没有 WHERE子句,所以选项 A是错误的。选项 B中,由于接下来的 SQL语句“SELECT MAX(人数 )FROM TEMP”的字段名称为 “人数 ”,而第一条 SQL语句没有对查询的结果进行重命名, 会产生错误。选项 C中的 SQL语句使用短语 INTO FILEFileNameADDITIVE可以将查询结果存放到文本文件中, FileName是文件名,默认扩展名是 txt,接下来的 SQL语句 “SELECT MAX(人数 ) FROM TE

29、MP”会产生错误。 【知识模块】 关系数据库标准语言 SQL 14 【正确答案】 A 【试题解析】 在 SQL SEL ECT查询语句中,用 where说明查询条件。在表中尚未确定的值用 NULL值表示,而 SQL中查询空值时要用 ISNULL,不能用 “ ”。 【知 识模块】 关系数据库标准语言 SQL 15 【正确答案】 A 【试题解析】 VFP的 SELECT语句中用于内联接查询的语法是: SE ECTFROM 表 1INNERJOIN表 2ON联接条件 where Count()和 avg()都是 SQL中用于计算的检索函数,其中 Count用来计算记录个数,通常应该使用 Distin

30、ct,除非对关系中的元组个数进行计算。这个题目中要求订购单的数量,显然应该对订单号计数,但订购单明细表中的订单号是有重复的(因为一份订单上可能有多种产品 ),因此应该 在 count()中使用 Distinct。 Avg函数是用来计算平均值的。产品金额数量 *单价。 【知识模块】 关系数据库标准语言 SQL 16 【正确答案】 B 【试题解析】 本题考查 SELECT语句的正确应用。要查询第一作者为 “张三 ”的所有书名及出版社,那么书名及出版社是要查询的列,查询源是图书表,条件是第一作者为 “张三 ”。 【知识模块】 关系数据库标准语言 SQL 17 【正确答案】 C 【试题解析】 在 SQ

31、L语句中,空值查询用 IS NULL。 【知识模块】 关系数据库标 准语言 SQL 18 【正确答案】 C 【试题解析】 在 SQL语句中,空值查询用 IS NULL。 【知识模块】 关系数据库标准语言 SQL 19 【正确答案】 A 【试题解析】 在 SQL语句中,将查询结果保存在临时表中应使用短语 INTO CURSOR。 【知识模块】 关系数据库标准语言 SQL 20 【正确答案】 D 【试题解析】 在 SQL的 WHRER子句的条件表达式中,字符串匹配的运算符是IAKE,通配符 “ ”表示 0个或多个字符,另外还有一个通配符 “_”表示一个字符。 【知识模块】 关系数据库标准语言 SQ

32、L 21 【正确答案】 C 【试题解析】 在 SQL语句中支持空值查询,用 IS NULL表示。 【知识模块】 关系数据库标准语言 SQL 22 【正确答案】 D 【试题解析】 可以用 JOINON 语法进行超连结查询,也可以用 WHERE直接表示数据表连接条件。 ORDER BY 短语表示排序, DESC短语表示降序。 【知识模块】 关系数据库标准语言 SQL 23 【正确答案】 D 【试题解析】 用 WHERE表示数据表连接条件;用 GROUP BY表示分组,HAVING总是跟在 GROUP BY之后,用来限定分组,即 HAVING是用来表示选择分组的条件。 【知识模块】 关系数据库标准语

33、言 SQL 24 【正确答案】 A 【试题解析】 本题考查 SELECT语句中 in短语的应用。 in(),括号中是子查询,返回结果集,换句话说子查询先产生结果集,然后主查询再去结果集里去找符合要求的字段列表,符合要求的输出,反之则不输出。在选项 A中, IN后面的子查询查找到所有课程号, C5的学生的学号,再在这个集合中,查询课程号,C1的学生的学 号。 【知识模块】 关系数据库标准语言 SQL 25 【正确答案】 C 【试题解析】 在 SQL查询语句中, WHERE是说明查询条件,即选择元组的条件。 【知识模块】 关系数据库标准语言 SQL 26 【正确答案】 B 【试题解析】 在 SQL查询中, HAVING总是跟在 GROUP BY之后,用来限定分组条件。 【知识模块】 关系数据库标准语言 SQL 27 【正确答案】 D 【试题解析】 TOP表示排序后满足条件的前几条记录。所以需要和 ORDER BY同时使用。 【知识模块】 关系数据库标准语言 SQL

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1