1、国家二级 VF机试(关系数据库标准语言 SQL)模拟试卷 15及答案与解析 一、选择题 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)
2、TO 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分球 =5 ( B) SELECT MAX(得分 )FROM 运动员 WHEN投中 3分球 =5 ( C) SELECT 得分 MAX(得分 )FROM 运 动员 WHERE投中 3分球 =5 ( D) SELECT 得分 MAX(得分 )FROM 运动员 WHEN投中 3分球 =5 5 在 SQL SELECT查询中,为了使查询结果排序必须使用短
4、语 ( A) ASC ( B) DESC ( C) GROUP BY ( D) ORDER BY 6 查询单价在 600元以上的主机板和硬盘的正确命令是 ( A) SELECT*FROM 产品 WHERE 单价 600 AND(名称 =主机板 AND 名称 =硬盘 ) ( B) SELECT*FROM 产品 WHERE 单价 600 AND(名称 =主机板 OR 名称 =硬盘 ) ( C) SELECT*FROM 产品 FOR 单价 600 AND(名称 =主机板 AND 名称 =硬盘) ( D) SELECT*FROM 产品 FOR 单价 600 AND(名称 =主机板 OR 名称 =硬盘
5、) 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性别 =女 AND年龄 =18 ORDER BY 4
6、DESC INTO TABLE WS ( B) SELECT*FROM S; WHERE性别 =女 AND年龄 =18 ORDER BY年龄 INTO TABLE WS ( C) SELECT*FROM S; WHERE性别 =女 AND年龄 =18 ORDER BY年龄 DESC INTO TABLE WS ( D) SELECT*FROM S; WHERE性别 =女 OR年龄 =18 ORDER BY年龄 ASC INTO TABLE WS 9 设有学生选课表 SC(学号,课程号,成绩 ),用 SQL同时检索选修课程号为 “C1”和 “C5”的学生学号的正确命令是 ( A) SELECT学
7、号 FROM SC; WHERE课程号 =C1AND课程号: C5 ( B) SELECT学号 FROM SC WHERE课程号 =C1; AND课程号 =(SELECT课程号 FROM SC WHERE课程号 =C5) ( C) SELECT学号 FROM SC WHERE课程号 =C1; AND学号 =(SELECT学号 FROM SC WHERE课程号 =C5) ( D) SELECT学号 FROM SC WHERE课程号 =C1; AND学号 IN(SELECT学号 FROM SC WHERE课程号 =C5) 10 设有学生表 S(学号,姓名,性别,年龄 )、课程表 C(课程号,课程名
8、,学分 )和学生选课表 SC(学号,课程号,成绩、 ),检索学号、姓名和学生所选课程的课程名和成绩,正确的 SQL语句是 ( A) SELECT学号,姓名,课程名,成绩 FROM S, SC, C; WHERE S学号 =SC学号 AND SC学号 =C学号 ( B) SELECT学号,姓名,课程名,成绩; FROM(S JOIN SC ON S学号 =SC学号 )JOIN C ON SC课程号 =C课程号 ( C) SELECT S学号,姓名,课程名,成绩; FROM S JOIN SC JOIN C ON S学号 =SC学号 ON SC课程号 =C课程号 ( D) SELECT S学号,姓
9、名,课程名,成绩; FROM S JOIN SC JOIN C ON SC课程号 =C课程号 ON S学号 =SC学号 11 查询所有 1982年 3月 20日以后 (含 )出生、性别为男的学生,正确的 SQL语句是 ( A) SELECT*FROM 学生 WHERE 出生日期 =1982-03-20AND性别 =“男 “ ( B) SELECT*FROM 学生 WHERE 出生日期 =1982-03-20AND性别 =“男 “ ( C) SELECT*FROM 学生 WHERE 出生日期 =1982-03-20OR性别 =“男 “ ( D) SELECT*FROM 学生 WHERE 出生日期
10、 =1982-03-20OR性别 =“男 “ 12 使用如下数据表: 学生 DBF:学号 (C, 8),姓名 (C, 6),性别 (C, 2),出生日期 (D) 选课 DBF:学号 (C, 8),课程号 (C, 3),成绩 (N, 5, 1) 设有学生 (学号,姓名,性别,出生日期 )和选课 (学号,课程号,成绩 )两个关系,计算刘明同学选修的所有课程的平 均成绩,正确的 SQL语句是 ( A) SELECT AVG(成绩 )FROM 选课 WHERE姓名 =“刘明 “ ( B) SELECT AVG(成绩 )FROM 学生,选课 WHERE姓名 =“刘明 “ ( C) SELECT AVG(
11、成绩 )FROM 学生,选课 WHERE学生姓名 =“刘明 “ ( D) SELECT AVG(成绩 )FROM 学生,选课 WHERE学生学号 =选课学号AND姓名 =“刘明 “ 13 使用如下数据表: 学生 DBF学号 (C, 8),姓名 (C, 6),性别 (C, 2),出生日期 (D) 选课 DBF 学号 (C, 8),课程号 (C, 3),成绩 (N, 5, 1) 假定学号的第 3、 4位为专业代码,要计算各专业学生选修课程号为 “101”课程的平均成绩,正确的 SQL语句是 ( A) SELECT 专业 AS SUBS(学号, 3, 2),平均分 AS AVG(成绩 )FROM 选
12、课; WHERE 课程号 =“101“GROUP BY专业 ( B) SELECT SUBS(学号, 3, 2)AS 专业, AVG(成绩 )AS平均分 FROM 选课; WHERE 课程号 =“101“GROUP BY 1 ( C) SELECT SUBS(学号, 3, 2) AS 专业, AVG(成绩 )AS 平均分 FROM 选课; WHERE 课程号 =“101“ORDER BY专业 ( D) SELECT 专业 AS SUBS(学号, 3, 2),平均分 AS AVG(成绩 )FROM 选课; WHERE 课程号 =“101“ORDER BY 1 14 使用如下数据表: 学生 DBF
13、:学号 (C, 8),姓名 (C, 6),性别 (C, 2),出生日期 (D) 选课 DBF:学号 (C, 8),课程号 (C, 3),成绩 (N, 5, 1) 查询选修课程号为 “101”的课程得分最高的同学,正确的 SQL语 句是 ( A) SELECT学生学号,姓名 FROM学生,选课 WHERE学生学号 =选课学号; AND课程号 =“101“AND成绩 =ALL(SELECT成绩 FROM选课 ) ( B) SELECT 学生学号,姓名 FROM 学生,选课 WHERE 学生学号 =选课学号: AND成绩 =ALL(SELECT 成绩 FROM 选课 WHERE 课程号 =“101“
14、) ( C) SELECT 学生学号,姓名 FROM 学生,选课 WHERE 学生学号 =选课学号; AND 成绩 =ALL(SELECT 成绩 FROM 选课 WHERE 课程号 =“101“) ( D) SELECT 学生学号,姓名 FROM 学生,选课 WHERE 学生学号 =选课学号 AND; 课程号 =”101”AND成绩 =ALL(SELECT 成绩 FROM 选课 WHERE 课程号 =“101“) 15 SQL的 SELECT语句中, “HAVING条件表达式 ”用来筛选满足条件的 ( A)列 ( B)行 ( C)关系 ( D)分组 16 下列关于 SELECT短语的描述中错误
15、的是 ( A) SELECT短语中可以使用别名 ( B) SELECT短语中只能包含表中的列及其构成的表达式 ( C) SELECT短语规定了结果集中的列顺序 ( D)如果 FROM短语引用的两个表有同名的列,则 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 查询在 “北京 ”和
16、 “上海 ”出生的学生信息的 SQL语句是 ( A) SELECT*FROM 学生 WHERE 出生地 =北京 AND上海 ( B) SELECT*FROM 学生 WHERE 出生地 =北京 OR上海 ( C) SELECT*FROM 学生 WHERE 出生地 =北京 AND出生地 =上海 ( D) SELECT*FROM 学生 WHERE 出生地 =北京 OR出生地 =上海 19 在 SQL语句中,与表达式 “年龄 BETWEEN 12 AND 46”功能相同的表达式是 ( A)年龄 =12 OR =46 ( B)年龄 =12 AND =46 ( C)年龄 =12 OR年龄 =4 ( D)年
17、龄 =12 AND年龄 =46 20 在 SELECT语句中,下列关于 HAVING短语的描述中正确的是 ( A) HAVING短语必须与 GROUP BY短语同时使用 ( B)使用 HAVING短语的同时不能使用 WHERE短语 ( C) HAVING短语可以在任意的一个位置出现 ( D) HAVING短语与 WHERE短语功能相同 21 在 SQL的 SELECT查询的结果中,消除重复记录的方法是 ( A)通过指定主索引实现 ( B)通过指定惟一索引实现 ( C)使用 DISTINCT短语实现 ( D)使用 WHERE短语实现 22 假设每个歌手的 “最后得分 ”的计算方法是:去掉一个最高
18、分和一个最低分,取剩下分数的平均分。根据 “评分 ”表求每个歌手的 “最后得分 ”,并存储于表 TEMP中,表 TEMP中有两个字段: “歌手号 ”和 “最后得分 ”,并且按最后得分降序排列,生成表 TEMP的 SQL语句是 ( A) SELECT歌手号, (COUNT(分数 )-MAX(分数 )-MIN(分数 ) (SUM(*)-2)最后得分; FROM评分 INTO DBF TEMP GROUP BY歌手号 ORDER BY最后得分DESC ( B) SELECT歌手号, (COUNT(分数 )-MAX(分数 )-MIN(分数 ) (SUM(*)-2)最后得分; FROM评分 INTO D
19、BF TEMP GROUP BY评委号 ORDER BY最后得分DESC ( C) SELECT歌手号, (SUM(分数 )-MAX(分数 )-MIN(分数 ) (COUNT(*)-2)最后得分; FROM评分 INTO DBF TEMP GROUP BY 评委号 ORDER BY最后得分DESC ( D) SELECT歌 手号, (SUM(分数 )-MAX(分数 )-MIN(分数 ) (COUNT(*)-2)最后得分; FROM评分 INTO DBF TEMP GROUP BY歌手号 ORDER BY最后得分DESC 23 与 “SELECT*FROM 歌手 WHERE NOT(最后得分 9
20、 00 OR最后得分8 00)”等价的语句是 ( A) SELECT*FROM 歌手 WHERE 最后得分 BETWEEN 9 00 AND 8 00 ( B) SELECT*FROM 歌手 WHERE 最后得分 =8 00 AND最后得分 =9 00 ( C) SELECT*FROM 歌手 WHERE 最后得分 9 00 OR最后得分 8 00 ( D) SELECT*FROM 歌手 WHERE 最后得分 =8 00 AND最后得分 =9 00 24 假设 temp dbf数据表中有两个字段 “歌手号 ”和 “最后得分 ”,下面程序段的功能是:将 temp dbf中歌手的 “最后得分 ”填入
21、 “歌手 ”表对应歌手的 “最后得分 ”字段中 (假设已增加了该字段 ),在下划线处应该填写的 SQL语句是 USE歌手 DO WHILE NOT EOF() _ REPLACE歌手最后得分 WITH a2 SKIP ENDDO ( A) SELECT*FROM tem WHERE temp歌手号 =歌手歌手号 TO WHERE temp TO ARRAY a ( B) SELECT*FROM temp WHERE temp歌手号 =歌手歌手号 INTO ARRAY a ( C) SELECT*FROM temp WHERE temp歌手号 =歌手歌手号 TO FILE a ( D) SELE
22、CT*FROM temp WHERE 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 最后得分 =;
23、 (SELECT MIN(最后得分 )FROM 歌手 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语句只能是
24、 ( A) SELECT 职员号 FROM 订单: GROUP BY 职员号 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 假设同一名称的产
25、品有不同的型号和产地,则计算每种产品平均单价的 SQL语句是 ( A) SELECT 产品名称, AVG(单价 )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分的学生的学号、姓名和性别,正确的
26、是 ( A) SELECT 学号,姓名,性别 FROM s WHERE EXISTS; (SELECT*FROM sc WHERE sc学号 =s学号 AND成绩 =85) ( B) SELECT 学号,姓名,性别 FROM s WHERE NOT EXISTS; (SELECT*FROM sc WHERE sc学号 =s学号 AND成绩 =85) ( C) SELECT 学号,姓名,性别 FROM s WHERE EXISTS; (SELECT*FROM sc WHERE sc学号 =s学号 AND成绩 85) ( D) SELECT 学号,姓名,性别 FROM s WHERE NOT EX
27、ISTS; (SELECT*FROM sc WHERE sc学号 =s学号 AND成绩 85) 29 与 “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 单价; (SELEC
28、T MIN(单价 ) FROM 产品 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“) 30 SQL语言的查询语句是 ( A) INSERT ( B) UPDATE ( C) DELETE ( D) SEL
29、ECT 国家二级 VF机试(关系数据库标准语言 SQL)模拟试卷 15答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 所有 SQL命令对表的所有操作都不需使用 USE命令先打开表。USE是 VFP中用来打开表的命令。 【知识模块】 关系数据库标准语言 SQL 2 【正确答案】 B 【试题解析】 SELECT的查询结果可以存入临时表、永久表和数组等,使用短语 INTO CURSOR可以将查询结果存放在临时表文件中。 【知识模块】 关系数据库标准语言 SQL 3 【正确答案】 A 【试题解析】 根据 SQL查询语句的基本结构,可以很容易发现选项 B和选项 D中,用来指定查询条件的 WH
30、ERE关键字错误,首先排除这两个选项,然后,根据题目要求,需要按金额降序排序查询结果,在排序语句中, ASC短语表示升序排序,是默认的排序方式,可省略;而 DESC短语表示降序排序,不可以缺少,选项 A)和 C)中,选项 A)采用的是降序排序,与题目要求相符,正确答案为 A)。 【知识模块】 关系数据库标准语言 SQL 4 【正确答案】 A 【试题解析】 求最大值的函数是 MAX(),使用计算函数后,会改变 原来的,用于计算的字段名,如果要指定新的字段名,可以在该计算函数后通过 AS短语指定新的字段名,也可以省略 AS短语直接输入新字段名做为输出显示的字段名称。 本题选项 C)和 D)中,使用
31、计算函数的表达方式错误;而选项 B)中,条件短语的关键字出错,应该是 WHERE,而不是 WHEN。 【知识模块】 关系数据库标准语言 SQL 5 【正确答案】 D 【试题解析】 在 SOL SELECT查询中,使用短语 ORDER BY使查询结果排序,所以应选 D。 ASC表示升序排序, DESC表示降序排序, GROUP BY是指 定分组。 【知识模块】 关系数据库标准语言 SQL 6 【正确答案】 B 【试题解析】 SOL SELECT查询语句的基本语法是: selectfromwhere ,用 where子句说明查询条件,而在条件中 and比 0r运算符的优先级高,所以 (名称 =“主
32、机板 “or名称 =“硬盘 “)要加上括号。 【知识模块】 关系数据库标准语言 SQL 7 【正确答案】 D 【试题解析】 SQL SELECT查询中有几个常用的特殊运算符,用来设置复杂的查询条件。如 like,是字符串匹配运算符,通配符 “*”表示 0个或多个字符,通配符 “?”表示一个字符。 【知识模块】 关系数据库标准语言 SQL 8 【正确答案】 A 【试题解析】 题干中要求按年龄降序排列,在 SOL SELECT中用来排序的关键短语是 ORDER BY,可以指定排序方式为升序 (ASC)或降序 (DESC)。另外,字段名是变量,所以不能加引号,否则是表示一个字符型常量。 【知识模块】
33、 关系数据库标准语言 SQL 9 【正确答案】 D 【试题解析】 题干中要求同时检索选修课程号为 “C1”和 “C5”的学生学号。采用嵌套循 环实现检索,排除选项 A)。在嵌套查询中使用短语 IN表示 “属于 ”的意思,而不是 “=”,所以排除选项 B)、 C)。 【知识模块】 关系数据库标准语言 SQL 10 【正确答案】 D 【试题解析】 连接是关系的基本操作之一,连接查询是一种基于多个关系的查询。 JOIN用来连接两个表,而 ON短语指定两表连接的关键字。 【知识模块】 关系数据库标准语言 SQL 11 【正确答案】 A 【试题解析】 题干中要求查询日期和性别同时满足给定条件的记录,要使
34、两个条件同时成立,用 AND进行连接,表达式是 :出生日期 =1982-03-20AND性别=“男 “,而 OR表示的是或运算,即满足连接条件中的任意一个即可,与题目要求不符。 【知识模块】 关系数据库标准语言 SQL 12 【正确答案】 D 【试题解析】 本题考查 select语句的用法。要求计算刘明同学选修的所有课程的平均成绩,利用 AVG()函数求得成绩字段的平均值,查询的数据源为学生和课程两个表,所以 FROM后面要跟这两个表名。以同时满足 “学生学号 =选课学号 ”和 “姓名 =“刘明 “”为筛选记录的条件。 【知识模块】 关系数据库标 准语言 SQL 13 【正确答案】 B 【试题
35、解析】 题干要求对各专业计算平均分,所以先要把不同专业的学生进行分组,然后再计算平均分。其中, SoL SELECT中的 GROUPBY短句用于对查询结果进行分组,利用 AVG()函数求得指定字段的平均值,其中 “GROUP BY 1”表示按输出结果的第一个字段进行分组。 【知识模块】 关系数据库标准语言 SQL 14 【正确答案】 D 【试题解析】 题目中给出的选项都是采用嵌套查询实现题目要求。题干中要求对课程号为 “101”的学生进行查询,所以内 外查询中都会用到条件 “课程号 =“101“”,其中 ALL表示所有的结果。 【知识模块】 关系数据库标准语言 SQL 15 【正确答案】 D
36、【试题解析】 元组是二维表中的一行,表示一个实体的所有属性的集合。在VisaulFoxPro中,元组被称为记录。 SQL SELECT中的 HAVING短语必须跟随GROUP BY使用,它用来限定分组必须满足的条件,进一步筛选满足条件的元组。 【知识模块】 关系数据库标准语言 SQL 16 【正确答案】 B 【试题解析】 SELECT查询命令的使用 非常灵活,用它可以构造各种各样的查询。 SQL查询语句可以从表中指定不同字段输出,指定字段的输出次序,即列的次序可以重新排列,不需要与原数据表一致。 SOL的查询子句可以包含表中的表达式以及表的别名。如果 FROM短语中引用的两个表有同名的列,则
37、SELECT短语引用它们时必须使用表名前缀加以限定。 【知识模块】 关系数据库标准语言 SQL 17 【正确答案】 B 【试题解析】 本题考查查询结果的去向。若在 SELECT语句中使用 INTO DBF TABLE表名短语,则可以将查询的结果存放到表中, 该表是自由表。 【知识模块】 关系数据库标准语言 SQL 18 【正确答案】 D 【试题解析】 一个学生的出生地,要么在 “北京 ”,要么在 “上海 ”,所以两者的关系是 “或 ”,用关键字 or。 【知识模块】 关系数据库标准语言 SQL 19 【正确答案】 D 【试题解析】 本题考查的是 BETWEEN AND的含义。 BETW EN数
38、值表达式1 AND数值表达式 2的意思是 “在 和 之间 ”,表示取数值表达式 1和数值表达式 2之间的数,且包括两个数值表达式值在内。 【知识模块】 关系数据库标准语言 SQL 20 【正确答案】 A 【试题解析】 SQL查询语句中,使用 GROUP BY短语对查询结果进行分组。而HAVING短语必须跟随 GROUP BY使用,它用来限定分组必须满足的条件,并且与 WHERE不矛盾,在查询中先用 WHERE子句限定元组。有 WHERE子句时, GROUP BY子句一般放在其后。 【知识模块】 关系数据库标准语言 SQL 21 【正确答案】 C 【试题解析】 本题考查 SQL查询的几个特殊选项
39、。在 SQL-SELECT语句中,DISTINCT关键词 用于消除查询结果中的重复记录。 【知识模块】 关系数据库标准语言 SQL 22 【正确答案】 D 【试题解析】 SOL具备计算方式的检索,通过计数函数 COUNT()可以得到评委的人数,歌手平均分的计算应该是 “评委总数 -2”,即 COUNT(*)-2,而 SUM()函数用于求和,所以排除选项 A)和 B)。因为是计算歌手的平均分,应该按歌手号进行分组,使用 GROUP BY短语可以对记录进行分组。 【知识模块】 关系数据库标准语言 SQL 23 【正确答案】 B 【试题解析】 SELECT查 询命令的使用非常灵活,用它可以构造各种各
40、样的查询。本题中给出的查询语句的功能是检索出最后得分不大于 9 00或者不小于8 00,即小于或等于 9 00和大于或等于 8 00的歌手记录。 【知识模块】 关系数据库标准语言 SQL 24 【正确答案】 B 【试题解析】 由题目中给出的 “REPLACE歌手最后得分 WITH a2”语句可知,数据通过数组 a进行传递,因此 SQL查询的输出去向应为数组,所以选项C)、 D)不符合。查询输出中表示输出到数组的短语为 “INTO ARRAY”。 【知识模块】 关系数据库标准语言 SQL 25 【正确答案】 A 【试题解析】 题干中的结果是结果是检索出最后得分大于歌手号第一个数字为“2”的所有歌
41、手的歌手号,因为要大于所有第一个数字为 “”“的歌手的最后得分,只要满足大于第一个数字为 “2”的歌手最后得分即可, MAX函数可用来求最高分。 【知识模块】 关系数据库标准语言 SQL 26 【正确答案】 B 【试题解析】 SQL查询语句中使用 GROUP BY短语用于对查询结果进行分组。而 HAVING短语必须跟随 GROUP BY使用,它用来限定分组必须满足 的条件,并且与 WHERE子句不矛盾,在查询中先用 WHERE子句限定元组。其中有WHERE子句时, GROUP BY子句一般放在其后。计算平均值的函数表达式为AVG()。 【知识模块】 关系数据库标准语言 SQL 27 【正确答案
42、】 D 【试题解析】 SQL查询语句中使用 GROUP BY短语对查询结果进行分组。其中,有 WHERE子句时, GROUP BY子句一般放在其后。计算平均值的函数表达式为 AVG()。 【知识模块】 关系数据库标准语言 SQL 28 【正确答案】 D 【试题解析】 题目中给出的四个选项为利用 SQL谓词查询实现题干要求,正确的语句应该是: SELECT学号,姓名,性别 FROM S WHERENOT EXISTS; (SELECT*FROM SC WHERE SC学号 =S学号 AND成绩 85) 或者: SELECT学号,姓名,性别 FROM S WHERE EXISTS; (SELECT*FROM SC WHERE SC学号 =S学号 AND成绩 =85)。 【知识模块】 关系数据库标准语言 SQL 29 【正确答案】 A 【试题解析】 本题考查 select语句的使用。题目中的 SELECT语句的含义是;选出不重复的单价大于等于所有产品号第一个数字为 2的产品单价的产品号。所以与之含义相同的查询语句是选项 A)。 【知识模块】 关系数据库标准语言 SQL 30 【正确答案】 D 【试题解析】 SQL的查询语句是 SELECT, INSERT是插入语句, UPDATE是更新语句, DELETE是删除语句。 【知识模块】 关系数据库标准语言 SQL
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1