1、国家二级 VF(关系数据库标准语言 SQL)机试模拟试卷 1及答案与解析 一、选择题 1 在 Visual FoxPro中,如下描述正确的是 ( A)对表的所有操作,都不需要使用 USE命令先打开表 ( B)所有 SQL命令对表的所有操作都不需使用 USE命令先打开表 ( C)部分 SQL命令对表的所有操作都不需使用 USE命令先打开表 ( D)传统的 FoxPro命令对表的所有操作郜不需使用 USE命令先打开表 2 在 SQL SELECT语句中,为了将商查结果存储到临时表,应该使用短语 ( A) TO CURSOR ( B) INTO CURSOR ( C) INTO DBF ( D) T
2、O DBF 3 设有订单表 order (其中包含字段:单号,客户号,职员号,签订日期,金额 ),查询 2007年所签订单的信息,并按金额降序排序,正确的 SQL命令是 ( A) SELECT*FROM order WHERE YEAR(签订日期 ); 2007 ORDER BY金额DESC ( B) SELECT*FROM order WHILE YEAR(签订日期 )=2007 ORDER BY金额 ASC ( C) SELECT*FROM order WHERE YEAR(签订日期 )=2007 ORDER BY金额 ASC ( D) SELECT*FROM order WHILE YE
3、AR(签订日期 )=2007 ORDER BY金额DESC 4 检索 “投中 3分球 ”小于等于 5个的运动员中 “得分 ”最高的运动员的 “得分 ”,正确的 SQL语句是 ( A) SELECT MAX(得分 )FROM运动员 WHERE投中 3分球 600 AND(名称 =主机板 AND 名称=硬盘 ) ( B) SELECT*FROM 产品 WHERE 单价 600 AND(名称 =主机板 OR 名称 =硬盘 ) ( C) SELECT*FROM 产品 FOR 单价 600 AND(名称 =主机板 AND 名称 =硬盘 ) ( D) SELECT*FROM 产品 FOR 单价 600 A
4、ND(名称 =主机板 OR 名称 =硬盘 ) 7 查询客户名称中有 “网络 ”二字的客户信息的正确命令是 ( A) SELECT*FROM 客户 FOR 名称 LIKE“网络 ” ( B) SELECT*FROM 客户 FOR 名称 =“网络 ” ( C) SELECT*FROM客户 WHERE 名称 =“网络 ” ( D) SELECT*FROM客户 WHERE 名称 LIKE“网络 ” 8 设有学生表 S(学号,姓名,性别,年龄 ),查询所有年龄小于等于 18岁的女同学,并按年龄进行降序排序,生成新的表 WS,正确的 SQL语句是 ( A) SELECT*FROM S: WHERE性别 =
5、女 AND年龄 =1982-03-20AND性别 =“男 “ ( B) SELECT*FROM 学生 WHERE出生日期 =1982-03-20OR性别 =“男 “ ( D) SELECT*FROM 学生 WHERE出生日期 =ALL(SELECT成绩 FROM选课 ) ( B) SELECT学生学号,姓名 FROM学生,选课 WHERE学生学号 =选课学号; AND成绩 =ALL(SELECT成绩 FROM选课 WHERE课程号 =“101“) ( C) SELECT学生学号,姓名 FROM学生,选课 WHERE学生学号 =选课学号; AND成 绩 =ALL(SELECT成绩 FROM选课
6、WHERE课程号 =“101“) ( D) SELECT学生学号,姓名 FROM学生,选课 WHERE学生学号 =选课学号 AND; 课程号 =“101“AND成绩 =ALL(SELECT成绩 FROM选课 WHERE课程号 =“101“) 15 SQL的 SELECT语句中, “HAVING”用来筛选满足条件的 ( A)列 ( B)行 ( C)关系 ( D)分组 16 下列关于 SELECT短语的描述中错误的是 ( A) SELECT短语中可以使用 别名 ( B) SELECT短语中只能包含表中的列及其构成的表达式 ( C) SELECT短语规定了结果集中的列顺序 ( D)如果 FROM短语
7、引用的两个表有同名的列,则 SELECT短语引用它们时必须使用表名前缀加以限定 17 与 “SELECT*FROM学生 INTO DBF A”等价的语句是 ( A) SELECT*FROM学生 INTO A ( B) SELECT*FROM学生 INTO TABLE A ( C) SELECT*FROM学生 TO TABLE A ( D) SELECT*FROM学生 TO DBF A 18 查询在 “北京 ”和 “上海 “出生的学生信息的 SQL语句是 ( A) SELECT*FROM学生 WHERE出生地 =北京 AND上海 ( B) SELECT*FROM学生 WHERE出生地 =北京 O
8、R上海 ( C) SELECT*FROM学生 WHERE出生地 =北京 AND出生地 =上海 ( D) SELECT*FROM学生 WHERE出生地 =北京 0R出生地 =上海 19 在 SQL语句中,与表达式 “年龄 BETWEEN 12 AND 46”功能相同的表达式是 ( A)年龄 =12 OR=12 AND=12 OR年龄 =12 AND年龄 9 00 OR最后得分 =8 00 AND最后得分 9 00 OR最后得分 : 9 00 24 假设 temp dbf数据表中有两个字段 “歌手号 ”和 “最后得分 ”,下面程序段的功能是:将 temp dbf中歌手的 “最后得分 ”填入 “歌手
9、 “表对应歌手的 “最后得分 ”字段中 (假设已增加了该字段 ),在下划线处应该填写的 SQL语句是 USE歌手 DO WHILE NOT EOF(1 REPLACE歌手最后得分 WITH a2 SKIP ENDD0 ( A) SELECT*FROM temp WHERE temp歌手号 =歌手歌手号 TO ARRAY a ( B) SELECT*FROM temp WHERE temp歌手号 =歌手歌手号 INTO ARRAY a ( C) SELECT*FROM temp WHERE temp歌手号 =歌手歌手号 TO FILE a ( D) SELECT*FROM temp WHERE
10、temp歌手号 =歌手歌手号 INTO FILE a 25 与 “SELECT DISTINCT歌手号 FROM歌手 WHERE最后得分 =ALL; (SELECT最后得分 FROM歌手 WHERE SUBSTR(歌手号, 1, 1)=”2”)” 等价的 SQL语句是 ( A) SELECT DISTINCT歌手号 FROM歌手 WHERE最后得分 =; (SELECT MAX(最后得分 )FROM歌手 WHERE SUBSTR(歌手号, 1, 1)=“2“) ( B) SELECT DISTINCT歌手号 FROM歌手 WHERE最 后得分 =: (SELECT MIN(最后得分 )FROM
11、歌手 WHERE SUBSTR(歌手号, 1, 1)=“2“) ( C) SELECT DISTINCT歌手号 FROM歌手 WHERE最后得分 =ANY; (SELECT最后得分 FROM歌于 WHERE SUBSTR(歌手号, 1, 1)=“2“) ( D) SELECT DISTINCT歌手号 FROM歌手 WHERE最后得分 =SOME; (SELECT最后得分 FROM歌手 WHERE SUBSTR(歌手号, 1, 1)=“2“) 26 假设 “订单 ”表中有订单号 、职员号、客户号和金额字段,正确的 SQL语句只能是 ( A) SELECT职员号 FROM订单: GROUP BY职
12、员号 HAVING COUNT(*)3 AND AVG金额 200 ( B) SELECT职员号 FROM订单: GROUP BY职员号 HAVING COUNT(*)3 AND AVG(金额 )200 ( C) SELECT职员号 FROM订单: GROUP BY职员号 HAVING COUNT(*)3 WHERE AVG(金额 )200 ( D) SELECT职 员号 FROM订单: GROUP BY职员号 WHERE COUNT(*)3 AND AVG金额 200 27 假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的 SQL语句是 ( A) SELECT产品名称, AVG
13、(单价 )FROM产:品 GROUP BY单价 ( B) SELECT产品名称, AVG(单价 )FROM产品 ORDER BY单价 ( C) SELECT产品名称, AVG(单价 )FROM产品 ORDER BY产品名称 ( D) SELECT产品名称, AVG(单价 )FROM产品 GROUP BY产品名称 28 设有 S(学号,姓名,性别 )和 SC(学号,课程号,成绩 )两个表,用下列 SQL语句检索选修的每门课程的成绩都高于或等于 85分的学生的学号、姓名和性别,正确的是 ( A) SELECT学号,姓名,性别 FROM S WHERE EXISTS; (SELECT*FROM SC
14、 WHERE SC学号 =s学号 AND成绩 85) ( D) SELECT学号,姓名,性别 FROM S WHERE NOT EXISTS; (SELECT*FROM SC WHERE SC学号 =s学号 AND成绩 =ALL(SELECT单价FROM产品 WHERE SUBSTR(产品号, 1, 1)=”2”)”等价的 SQL命令是 ( A) SELECT DISTINCT产品号 FROM产品 WHERE单价 =; (SELECT MAX(单价 )FROM产品 WHERE SUBSTR(产品号, 1, 1)=“2”) ( B) SELECT DISTINCT产品号 FROM产品 WHERE
15、单价 =; (SELECT MIN(单价 )FROM产品 WHERE SUBSTR(产品号, 1, l 1=“2”) ( C) SELECT DISTINCT产品号 FROM产品 WHERE单价 =ANY; (SELECT单价 FROM产品 WHERE SUBSTR(产品号, 1, 1)=“2”1 ( D) SELECT DISTINCT产品号 FROM产品 WHERE单价 =SOME; (SELECT单价 FROM产品 WHERE SUBSTR(产品号, 1, 1)=“2”) 30 SQL语言的查询语句是 ( A) INSERT ( B) UPDATF ( C) DELETE ( D) SE
16、LECT 31 SQL的 SELECT语句中, “HAVING”用来筛选满足条件的 ( A)列 ( B)行 ( C)关系 ( D)分组 32 在 Visual FoxPro中,假设教师表 T(教师号,姓名,性别,职称,研究生导师 )中,性别是 C型字段,研究生导师是 L型字段。若要查询 “是研究生导师的女老师 ”信息,那么 SQL语句 “SELECT*FROM T WHERE”中的 应是 ( A)研究生导师 AND性别: “女 “ ( B)研究生导师 OR性别 =“女 “ ( C)性别 =“女 “AND研究生导师 = F ( D)研究生导师 = T OR性别 =女 33 查询学生选修课程成 绩
17、小于 60分的学号,正确的 SQL语句是 ( A) SELECT DISTINCT学号 FROM SC WHERE“成绩 “=70 OR成绩 =70 OR=70 AND20 ORDER BY单价 DESC ( B) SELECT商品名,单价,销售日期,销售数量 FROM商品 JOIN销售 WHERE(单价 BETWEEN 10AND 50)AND销售数量 20 ORDE RBY单价 ( C) SELECT商品名,单价,销售日期,销售数量 FROM商品,销售 WHERE(单价 BETWEEN 1 0 AND 50)AND销售数量 20 ON商品商品号 =销售商品号 ORDER BY单价 ( D)
18、 SELECT商品名,单价,销售日期,销售数量 FROM商品,销售 WHERE(单价 BETWEEN 10 AND 50)AND销售数量 20 AND商品商品号 =销售。商品号 ORDER BY单价 DESC 53 查询销售金额合计超过 20000的商店,奄询结果包括商店名和销售金额合计。正确命令是 ( A) SELECT商店名, SUM(销售数量 *单价 )AS销售金额合计 FROM商店,商品,销售 WHERE销售 金额合计 20000 ( B) SELECT商店名, SUM(销售数量 *单价 )AS销售金额合计 20000 FROM商店,商品,销售 WHERE商品商品号:销售商品号 AND
19、商店商店号 =销售商店号 ( C) SELECT商店名, SUM(销售数量 *单价 )AS销售金额合计 FROM商店,商晶,销售 WHERE商品商品号 =销售商品号 AND商店商品号 =销售商店号 AND SUM(销售数 *单价 )20000 GROUP BY商店名 ( D) SELECT商店名, SUM(销售数量 *单价 )AS销售金额合计 FROM商店,商品,销售 WHERE商品商品号 =销售商品号 AND商店商品号 =销售商店号 GROUP BY商店名 HAVING SUM(售数量 *单价 )20000 54 设有学生表 student(学号,姓名,性别,出生日期,院系 )、课程表 co
20、urse(课程号,课程名,学时 )和选课表 score(学号,课程号,成绩 ),查询同时选修课程号为C1和 C5课程的学生的学号,正确的命令是 ( A) SELECT学号 FROM score SC WHERE课程号 =C1AND学号 IN; (SELECT学号 FROM score SC WHERE课程号 =C5) ( B) SELECT学号 FROM score SC WHERE课程号 =C1AND学号 =; (SELECT学号 FROM score SC WHERE课程号 =C5) ( C) SELECT学号 FROM score SC WHERE课程号: C1AND课程号: C5 (
21、D) SELECT学弓 FROM score SC WHERE课程号 =C1ORC5 55 SQL查询命令的结构是 SELECTFROMWHEREGROUP BYHAVINGORDERBY 一其中指定查询条件的短语是 ( A) SELECT ( B) FROM ( C) WHERE ( D) ORDER BY 国家二级 VF(关系数据库标准语言 SQL)机试模拟试卷 1答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 所有 SQL命令对表的所有操作都不需使用 USE命令先打开表。USE是 VFP中用来打开表的命令。 2 【正确答案】 B 【试题解析】 SELECT的查询结果可以存入临
22、时表、永久表和数组等,使用短语 INTO C13RSOR可以将查询结果存放在临时表文件中。 3 【正确答案】 A 【试题解析】 根据 SQL查询语句的基本结构,可以很容易发现选项 B和选项 D中,用来指定查询条件的 WHERE关键字错误,首先排除这两个选项,然后,根据题目要求,需要按金额降序排序查询结果,在排序语句中, ASC短语表示升序排序,是默认的排序方式,可省略;而 DESC短语表示降序排序,不可以缺少,选项 A和 C中,选项 A采用的是降序排序,与题目要求相符, 正确答案为 A。 4 【正确答案】 A 【试题解析】 求最大值的函数是 MAX(),使用计算函数后,会改变原来的,用于计算的
23、字段名,如果要指定新的字段名,可以在该计算函数后通过 AS短语指定新的字段名,也可以省略 AS短语直接输入新字段名做为输出显示的字段名称。 本题选项 C和 D中,使用计算函数的表达方式错误;而选项 B中,条件短语的关键字出错,应该是 WHERE,而不是 WHEN。 5 【正确答案】 D 【试题解析】 在 SQL SELECT查询中,使用短语 ORDER BY使查询结果排序,所以应 选 D。 ASC表示升序排序, DESC表示降序排序, GROUP BY是指定分组。 6 【正确答案】 B 【试题解析】 SQL SELECT查询语句的基本语法是: selectfromwhere ,用 where子
24、句说明查询条件,而在条件中 and比 or运算符的优先级高,所以 (名称 =”主机板 ”or名称 =”硬盘 ”)要加上括号。 7 【正确答案】 D 【试题解析】 SQL SELECT查询中有几个常用的特殊运算符,用来设置复杂的查询条件。如 like,是字符串匹配运算符,通配符 “*”表示 0个或多个字符 ,通配符 “?”表示一个字符。 8 【正确答案】 A 【试题解析】 题干中要求按年龄降序排列,在 SQL SELECT中用来排序的关键短语是 ORDER BY,可以指定排序方式为升序 (ASC)或降序 (DESC)。另外,字段名是变量,所以不能加引号,否则是表示一个字符型常量。 9 【正确答案
25、】 D 【试题解析】 题干中要求同时检索选修课程号为 “C1”和 “C5”的学生学号。采用嵌套循环实现检索,排除选项 A。在嵌套查询中使用短语 IN表示 “属于 ”的意思,而不是 “=”,所以排除选项 B、 C。 10 【 正确答案】 D 【试题解析】 连接是关系的基本操作之一,连接查询是一种基于多个关系的查询。 JOIN用来连接两个表,而 ON短语指定两表连接的关键字。 11 【正确答案】 A 【试题解析】 题干中要求查询日期和性别同时满足给定条件的记录,要使两个条件同时成立,用 AND进行连接,表达式是:出生日期 =1982 03 20AND性别 =”男 ”,而 OR表示的是或运算,即满足
26、连接条件中的任意一个即可,与题目要求不符。 12 【正确答案】 D 【试题解析】 本题考查 select语句的用法。要 求计算刘明同学选修的所有课程的平均成绩,利用 AVG()函数求得成绩字段的平均值,查询的数据源为学生和课程两个表,所以 FROM后面要跟这两个表名。以同时满足 “学生学号 =选课学号 ”和 “姓名 =”刘明 ”为筛选记录的条件。 13 【正确答案】 B 【试题解析】 题干要求对各专业计算平均分,所以先要把不同专业的学生进行分组,然后再计算平均分。其中, SQLSELECT中的 GROJP BY短句用于对查询结果进行分组,利用 AVG()函数求得指定字段的平均值,其中 “GRO
27、UP BY 1”表示按输出结果的第一 个字段进行分组。 14 【正确答案】 D 【试题解析】 题目中给出的选项都是采用嵌套查询实现题目要求。题干中要求对课程号为 “101”的学生进行查询,所以内外查询中都会用到条件 “课程号 =”101”,其中 ALL表示所有的结果。 15 【正确答案】 D 【试题解析】 元组是二维表中的一行,表示一个实体的所有属性的集合。在Visaul FoxPro中,元组被称为记录。 SQL SELECT中的 HAVING短语必须跟随GROUP BY使用,它用来限定分组必须满足的条件,进一步筛选满足条件的元组。 16 【正确答案】 B 【试题解析】 SELECT查询命令的
28、使用非常灵活,用它可以构造各种各样的查询。 SQL查询语句可以从表中指定不同字段输出,指定字段的输出次序,即列的次序可以重新排列,不需要与原数据表一致。 SQL的查询子句可以包含表中的表达式以及表的别名。如果 FROM短语中引用的两个表有同名的列,则 SELECT短语引用它们时必须使用表名前缀加以限定。 17 【正确答案】 B 【试题解析】 本题考查查询结果的去向。若在 SELECT语句中使用 INTO DBF I TABLE短语, 则可以将查询的结果存放到表中,该表是自由表。 18 【正确答案】 D 【试题解析】 一个学生的出生地,要么在 “北京 ”,要么在 “上海 ”,所以两者的关系是 “
29、或 ”,用关键字 or。 19 【正确答案】 D 【试题解析】 本题考查 BETWEEN AND的含义。 BETWEENAND的意思是 “在 和 之间 ”,表示取 和 之间的数,且包括两个数值表达式值在内。 20 【正确答案】 A 【试题解析】 SQL查询语句中,使用 GROUP BY短语对查询结果进行分组。而HAVING短语必须跟随 GROUP BY使用,它用来限定分组必须满足的条件,并且与 WHERE不矛盾,在查询中先用 WHERE子句限定元组。有 WHERE子句时, GROUPBY子句一般放在其后。 21 【正确答案】 C 【试题解析】 本题考查 SQL查询的几个特殊选项。在 SQL-S
30、ELECT语句中,DISTINCT关键词用于消除查询结果中的重复记录。 22 【正确答案】 D 【试题解析】 SQL具备计算方式的检索,通过计数函数 COUNT()可以得到评委的人数,歌手平均 分的计算应该是 “评委总数 -2”,即 COUNT(*)-2,而 SUM()函数用于求和,所以排除选项 A和 B。因为是计算歌手的平均分,应该按歌手号进行分组,使用 GROUP BY短语可以对记录进行分组。 23 【正确答案】 B 【试题解析】 SELECT查询命令的使用非常灵活,用它可以构造各种各样的查询。本题中给出的查询语句的功能是检索出最后得分不大于 9 00或者不小于8 00,即小于或等于 9
31、00和大于或等于 8 00的歌手记录。 24 【正确答案】 B 【试题解析】 由题目中给出的 “REPLACE歌手最后得分 WITH a2”语句可知,数据通过数组 a进行传递,因此 SQL查询的输出去向应为数组,所以选项C、 D不符合。查询输出中表示输出到数组的短语为 “INTO ARRAY”。 25 【正确答案】 A 【试题解析】 题干中的结果是结果是检索出最后得分大于歌手号第一个数字为“2”的所有歌手的歌手号,因为要大于所有第一个数字为 “2”的歌手的最后得分,只要满足大于第一个数字为 “2”的歌手最后得分即可, MAX函数可用来求最高分。 26 【正确答案】 B 【试题解析】 SQL查询
32、语句中使用 GROUP BY短语用于对查询结果进行分组。而 HAVING短语必须跟随 GROUP BY使用,它用来限定分组必须满足的条件,并且与 WHERE子句不矛盾,在查询中先用 WHERE子句限定元组。其中有WHERE子句时, GROJP BY子句一般放在其后。计算平均值的函数表达式为AVGO。 27 【正确答案】 D 【试题解析】 SQL查询语句中使用 GROUP BY短语对查询结果进行分组。其中,有 WHERE子句时, GROUP BY子旬一般放在其后。计算平均值的函数表达式为 AVG()。 28 【正确答案】 D 【试题解析】 题目中给出的四个选项为利用 sQL谓词查询实现题干要求,
33、正确的语句应该是: SELECT学号,姓名,性别 FROM S WHERE NOT EXISTS; (S: ELECT*FROM SC WHERE SC学号 =S学号 AND成绩 =85)。 29 【正确答案】 A 【试题解析】 本题考查 select语句的使用。题目中的 SELECT语句的含义是;选出不重复的单价大于等于所有产品号第一个数字为 2的产品单价的产品号。所以与之含义相同的查询语句是选项 A。 30 【正确答案】 D 【试题解析】 SQL的查询语句是 SELECT, INSERT是插入语句, UPDATE是更新语句, DELETE是删除语句。 31 【正确答案】 D 【试题解析】
34、本题考查 “HAVING”短语的含义。在 SQL的 SELECT语句中,GROJP BY,分组字段 2HAVING 分组限 定条件 ,可以按一列或多列分组,还可以使用 HAVING进一步限定分组的条件。 HAVING子句总是跟在 GROUPBY子句之后,不可以单独使用。 32 【正确答案】 A 【试题解析】 根据题意,查询应该同时满足两个条件,即 “研究生导师 ”和 “女老师 ”,两个条件应该用 AND连接,故选项 B和选项 C错误;由于 “研究生导师 ”字段是逻辑型,对应表达式应写为 “研究生导师 = T ”或者 “研究生导师 ”。 33 【正确答案】 C 【试题解析】 查询条件 “课程成绩
35、小于 60分 ”对应的条件表达式应该书写为 “成绩。 35 【正确答案】 A 【试题解析】 如果查询条件的值是在什么范围之内,可以使用BETWEENAND 运算 36 【正确答案】 C 【试题解析】 查询空值时要使用 lS NULL,而 =NULL,是无效的,因为空值不是一个确定的值,所以不能用 “=”这样的运算符进行比较。 37 【正确答案】 D 【试题解析】 选项 A中,使用。 EXISTS谓词来检查子查询中是 否有结果返回,它的查询过程是:首先在外查询中,从 S表中取出第一条记录,再在内查询中,针对该记录,在 SC表中逐条记录判断是否存在符合 where条件 (即 “选修 C2课程号的学
36、生 ”)的记录,如果存在,则从外查询的 S表中查找出该记录对应的 “姓名 ”值;然后依次类推,从 S表中取出第二条记录,在内查询中与 SC表中的所有记录进行比较,直到将 S表中的所有记录都处理完毕。选项 B是嵌套查询,先在内查询中从 SC表中获得选修了 C2课程号的学生的 “学号 ”,再在外查询中从 S表中查找出这些 “学号 ”对应学生的 “姓名 ”,由于选修了 C2课程号的学 生可能不止一个,因此在内查询中获得的 “学号 ”是一个集合,因此应该使用运算符 IN。 选项 C是联接查询,将 S表和 SC表以 “学号 ”字段相等为条件进行联接,查找出选修了 C2课程号的学生。 38 【正确答案】
37、A 【试题解析】 SQL SELECI语句中 INTO TABLE短语和 INTO DBE短语都可用来定义将查询结果存放到永久表中。另外, INTO ARRAY将查询结果存放到数组, INTO CURSOR将查询结果存放到临时表, TO FILE将查询结果存放到文本文件中。 39 【正确答案】 C 【试题解析】 通过在 SELECT语句中加入 ORDER BY可将查询结果排序,可以按升序和降序排序,命令格式如下: ORDER BYASClDESC,排序字段 2ASClDESC 。 ASC表示按升序排序, DESC表示按降序排序,可以按一列或多列排序,升序是默认的排列方式。如果短语中指定多个字段
38、,则依次按自左向右的顺序进行排序。 40 【正确答案】 C 【试题解析】 本题考查查询结果的去向。若在 SELECT语句中使用 INTO DBF f TABLE短语, 则可以将查询的结果存放到表中,该表是自由表。所以应选C。 41 【正确答案】 C 【试题解析】 使用短语 INTO DBF|TABLE TableName可以将查询结果存放到永久表中 (dbf 文件 )。生成的表文件是一个自由表。所以与 “SELECT*FROM教师表INTO DBF A”等价的是 “SELECT*FROM教师表 INTO TABLE A”。 42 【正确答案】 A 【试题解析】 由于题意中要求计算系名为 “计算
39、机 ”的教师总数,所以 SQL语句的 WHERE子句应该为 WHERE系名 =“计算 机 ”,所以正确的是选项 A。 43 【正确答案】 D 【试题解析】 由于 “教师表 ”与 “学院表 ”是通过 “系号 ”进行关系的连接,而选项 A没有 WHERE子旬,所以选项 A是错误的。选项 B中,由于接下来的 SOL语句“SELECT MAX(人数 )FROM TEMP”的字段名称为 “人数 ”,而第一条 SOL语句没有对查询的结果进行重命名,会产生错误。选项 C中的 SQL语句使用短语 INT0 FILE FileNameADDITIVE可以将查询结果存放到文本文件中, FileName是文件名,默
40、认扩展名是 txt,接下来的 SQL语句 “SELECT MAX(人数 )FROM TEMP”会产生错误。 44 【正确答案】 A 【试题解析】 在 SOL SELECT查询语句中,用 where说明查询条件。在表中尚未确定的值用 NULL值表示,而 SQL中查询空值时要用 IS NULL,不能用 “=”。 45 【正确答案】 A 【试题解析】 VFP的 SQL SELECT中内联接查询的语法是: SELECTFROM 表 1INNERJOIN表 2 ON 联接条件 where Count()和 avg()都是 SQL中用于计算的检索函数,其中 Count用来计算记录个数,通常应该使用 Dis
41、tinct,除非对关系中的元组个数进行计算。这个题目中要求订购单的数量,显然应该对订单号计数,但订购单明细表中的订单号是有重复的(因为一份订单上可能有多种产品 ),因此应该在 count()中使用 Distinct。 Avg函数是用来计算平均值的。产品金额 =数量 *单价。 46 【正确答案】 B 【试题解析】 本题考查 SELECT语句的正确应用。要查询第一作者为 “张三 ”的所有书名及出版社,那么书名及出版社是要查询的列,查洵源是图书表,条 件是第一作者为 “张三 ”。所以应选 B。 47 【正确答案】 C 【试题解析】 在 SOL语句中,空值查询用 IS NULL。 48 【正确答案】
42、C 【试题解析】 在 SOL语句中,空值查询用 IS NULL。 49 【正确答案】 A 【试题解析】 在 SOL语句中,将查询结果保存在临时表中应使用短语 INTO CIJRSOR。 50 【正确答案】 D 【试题解析】 在 SQL的 WHRER子句的条件表达式中,字符串匹配的运算符是LIKE,通配符 “ ”表示 0个或多个字符,另外还有一个通 配符 “-”表示一个字符。 51 【正确答案】 C 【试题解析】 在 SQL语句中支持空值查询,用 IS NULL表示。 52 【正确答案】 D 【试题解析】 可以用, J01NON 语法进行超连结查询,也可以用 WHERE直接表示数据表连接条件。
43、ORDER BY短语表示排序, DESC短语表示降序。 53 【正确答案】 D 【试题解析】 用 wHERE表示数据表连接条件:用 GROUP BY表示分组,HAVING总是跟在 GROJP BY之后,用来限定分组,即 HAVING是用来表示选择分组 的条件。 54 【正确答案】 A 【试题解析】 本题考查 SELECT语句中 in短语的应用。 in(),括号中是子查询,返回结果集,换句话说子查询先产生结果集,然后主查询再去结果集里去找符合要求的字段列表符合要求的输出,反之则不输出。存选项 A中, IN后面的子查询查找到所有课程号 =C5的学生的学号,再在这个集合中,查询课程号 =C1的学生的学号。 55 【正确答案】 C 【试题解析】 在 SQL查询语句中, WHERE是说明查询条件,即选择元组的条件。
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1