1、国家二级 VF机试(关系数据库标准语言 SQL)模拟试卷 17及答案与解析 一、选择题 1 查询 2009年被借过书的图书编号和借书日期,正确的 SQL语句是 ( A) SELECT 图书编号,借书日期 FROM 借阅 WHERE 借书日期 =2009 ( B) SELECT 图书编号,借书日期 FROM 借阅 WHERE year(借书日期 )=2009 ( C) SELECT 图书编号,借书日期 FROM 借阅 WHERE 借书日期 =year(2009) ( D) SELECT 图书编号,借书日期 FROM 借阅 WHERE year(借书日期 )=year(2009) 2 设有读者 (
2、借书证号,单位,姓名,职称 )和借阅 (借书证号,图书编号,借书日期,还书日期 )表,查询所有 “工程师 ”读者借阅过的图书编号,正确的 SQL语句是 ( A) SELECT 图书编号 FROM 读者,借阅 WHERE职称 =“工程师 “ ( B) SELECT 图书编号 FROM 借阅 WHERE 图书编号 =; (SELECT 图书编号 FROM 借阅 WHERE 职称 =“工程师 “) ( C) SELECT 图书编号 FROM 借阅 WHERE 借书证号 IN; (SELECT 借书证号 FROM 读者 WHERE 职称 =“工程师 “) ( D) SELECT 图书编号 FROM 读
3、者,图书 WHERE 职称 =“工程师 “ 3 设有订单表 order(其中包含字段:订单号,客户号,职员号,签订日期,金额 ),删除 2002年 1月 1日以前签订的订单记录,正确的 SQL命令是 ( A) DELETE TABLE order WHERE 签订日期 2002-1-1 ( B) DELETE TABLE order WHILE 签订日期 2002-1-1 ( C) DELETE FROM order WHERE 签订日期 2002-1-1 ( D) DELETE FROM order WHILE 签订日期 2002-1-1 4 计算每名运动员的 “得分 ”的正确 SQL语句是
4、 ( A) UPDATE 运动员 FIELD 得分 =2*投中 2分球 +3*投中 3分球 +罚球 ( B) UPDATE 运动员 FIELD 得分 WTTH 2*投中 2分球 +3*投中 3分球 +罚球 ( C) UPDATE 运动员 SET 得分 WTTH 2*投中 2分球 +3*投中 3分球 +罚球 ( D) UPDATE 运动员 SET 得分 =2*投中 2分球 +3*投中 3分球 +罚球 5 使用如下数据表: 学生 DBF:学号 (C, 8),姓名 (C, 6),性别 (C, 2),出生日期 (D) 选课 DBF:学号 (C, 8),课程号 (C, 3),成绩 (N, 5, 1) 插
5、入一条记录到 “选课 ”表中,学号、课程号和成绩分别是 “02080111”、 “103”和80,正确的 SQL语句是 ( A) INSERT INTO 选课 VALUES(“02080111“, “103“, 80) ( B) INSERT VALUES(“02080111“, “103“, 80)TO 选课 (学号,课程号,成绩 ) ( C) INSERT VALUES(“02080111“, “103“, 80)INTO 选课 (学号,课程号,成绩 ) ( D) INSERT INTO 选课 (学号,课程号,成绩 )FROM VALUES(“02080111“,“103“, 80) 6
6、使用如下数据表: 学生 DBF学号 (C, 8),姓名 (C, 6),性别 (C, 2),出生日期 (D) 选课 DBF:学号 (C, 8),课程号 (C, 3),成绩 (N, 5, 1) 将学号为 “02080110”、课程号为 “102”的选课记录的成绩改 为 92,正确的 SQL语句是 ( A) UPDATE 选课 SET 成绩 WITH 92 WHERE学号 =“02080110“AND课程号“102“ ( B) UPDATE 选课 SET 成绩 =92 WHERE学号 =“02080110“AND 课程号 =“102“ ( C) UPDATE FROM选课 SET 成绩 WITH 9
7、2 WHERE 学号 =“02080110“AND 课程号 =“102“ ( D) UPDATE FROM选课 SET 成绩 =92 WHERE 学号 =“02080110“AND 课程号=“102“ 7 设有关系 SC(SNO, CNO, GRADE),其中, SNO、 CNO分别表示学号和课程号 (两者均为字符型 ), GRADE表示成绩 (数值型 ),若要把学号为 “S101”的同学,选修课程号为 “C11”,成绩为 98分的记录插入到表 SC中,正确的语句是 ( A) INSERT INTO SC(SNO, CNO, GRADE)VALUES(S101, C11, 98) ( B) I
8、NSERT INTO SC(SNO, CNO, GRADE)VALUES(S101, C11, 98) ( C) INSERT(S101, C11, 98)INTO SC ( D) INSERT INTO SC VALUES(S101, C11, 98) 8 在 Visual FoxPro中,如果要将学生表 S(学号,姓名,性别,年龄 )的 “年龄 ”属性删除,正确的 SQL语句是 ( A) ALTER TABLE S DROP COLUMN年龄 ( B) DELETE 年龄 FROM S ( C) ALTER TABLE S DELETE COLUMN 年龄 ( D) ALTER TABLE
9、 S DELETE 年龄 9 设有关系歌手 (歌手号,姓名,最后 得分 )和关系评分 (歌手号,分数,评委号 ),每个歌手的最后得分是所有评委给出的分数的平均值,则计算歌手 “最后得分 ”的SQL语句是 ( A) UPDATE 歌手 SET 最后得分 =(SELECT AVG(分数 )FROM 评分 WHERE 歌手号 =歌手歌手号 ) ( B) UPDATE 歌手 SET 最后得分 EXISTS(SELECT AVG(分数 )FROM 评分 WHERE 歌手号 =歌手歌手号 ) ( C) UPDATE 歌手 SET 最后得分 =(SELECT AVG(分数 )FROM 评分 ) ( D) U
10、PDATE 歌手 SET 最后得分 =(SELECT AVG(分数 )FROM 评分 GROUP BY评委号 ) 10 插入一条记录到 “评分 ”表中,歌手号、分数和评委号分别是 “1001”、 9 9和“105”,正确的 SQL语句是 ( A) INSERT VALUES(“1001“, 9 9, “105“)INTO 评分 (歌手号,分数,评委号 ) ( B) INSERT TO 评分 (歌手号,分数,评委号 )VALUES(“1001“, 9 9, “105“) ( C) INSERT INTO 评分 (歌手号,分数,评委号 )VALUES(“1001“, 9 9, “105“) ( D
11、) INSERT VALUES(“1001“, 9 9, “105“)TO评分 (歌手号,分数,评委号 ) 11 要使 “产品 ”表中所有产品的单价上浮 8,正确的 SQL语句是 ( A) UPDATE 产品 SET 单价 =单价 +单价 *8 FOR ALL ( B) UPDATE 产品 SET 单价 =单价 *1 08 FOR ALL ( C) UPDATE 产品 SET 单价 =单价 +单价 *8 ( D) UPDATE 产品 SET 单价 =单价 *1 08 12 从 “订单 ”表中删除签订日期为 2004年 1月 10日之前 (含 )的订单记录,正确的SQL语句是 ( A) DROP
12、 FROM 订单 WHERE 签订日期 =2004-1-10 ( B) DROP FROM 订单 FOR 签订日期 =2004-1-10 ( C) DELETE FROM 订单 WHERE 签订日期 =2004-1-10 ( D) DELETE FROM 订单 FOR 签订日期 =2004-1-10 13 SQL的数据操作语句不包括 ( A) INSERT ( B) UPDATE ( C) DELETE ( D) CHANGE 14 假设 “图书 ”表中有 C型字段 “图书编号 ”,要求将图书编号以字母 A开头的图书记录全部打上删除标记,可以使用 SOL命令 ( A) DELETE FROM
13、图书 FOR 图书编号 =“A“ ( B) DELETE FROM 图书 WHERE 图书编号 =“A “” ( C) DELETE FROM 图书 FOR 图书编号 =“A*“ ( D) DELETE FROM 图书 WHERE 图书编号 LIKE“A “ 15 SQL语言的更新命令的关键词是 ( A) INSERT ( B) UPDATE ( C) CREATE ( D) SELECT 16 假设客户表中有客户号 (关键字 )C1 C10共 10条客户记录,订购单表有订单号(关键字 )OR1 OR8共 8条订购单记录,并且订购单表参照客户表。如下命令可以正确执行的是 ( A) INSERT
14、 INTO 订购单 VALUES(OR5, C5, 2008 10 10) ( B) INSERT INTO 订购单 VALUES(OR5, C11, 2008 10 10) ( C) INSERT INTO 订购单 VALUES(OR9, C11, 2008 10 10) ( D) INSERT INTO 订购单 VALUES(OR9, C5, 2008 10 10) 17 正确的 SQL插入命令的语法格式是 ( A) INSERT INVALUES ( B) INSERT TOVALUES ( C) INSERT INTOVALUES ( D) INSERTVALUES 18 设有学生表
15、student(学号,姓名,性别,出生日期,院系 )、课程表 course(课程表,课程名,学时 )和选课表 score(学号,课程号,成绩 ),删除学号为 “20091001”且课程号为 “C1”的选课记录,正确命令是 ( A) DELETE FROM score WHERE 课程号 =C1AND 学号 =20091001 ( B) DELETE FROM score WHERE 课程号 =C1OR 学号 =20091001 ( C) DELETE FORM score WHERE 课程号 =C1AND 学号 =20091001 ( D) DELETE score WHERE课程号 =C1A
16、ND 学号 =20091001 19 删除表 s中字段 c的 SQL命令是 ( A) ALTER TABLE s DELETE c ( B) ALTER TABLE s DROP c ( C) DELETE TABLE s DELETE c ( D) DELETE TABLE s DROP c 20 使用 SQL语句将表 S中字段 price的值大于 30的记录删除,正确的命令是 ( A) DELETE FROM s FOR price 30 ( B) DELETE FROM s WHERE price 30 ( C) DELETE s FOR price 30 ( D) DELETE s W
17、HERE price 30 21 在 SQL语句中,插入一条新记录采用的命令是 ( A) INSERT ( B) ADD ( C) UPDATE ( D) CREATE 22 使用 SQL语句将学生表 S中年龄 (AGE)大于 30岁的记录删除,正确的命令是 ( A) DELETE FOR AGE 30 ( B) DELETE FROM S WHERE AGE 30 ( C) DELETE S FOR AGE 30 ( D) DELETE S WHERE AGE 30 23 在 SQL语句中,删除一条记录采用的命令是 ( A) INSERT ( B) DELETE ( C) UPDATE (
18、D) DROP 24 向 student表插入一条新记录的正确 SQL语句是 ( A) APPEND INTO student VALUES(0401, 王芳 , 女 , 18) ( B) APPEND student VALUES(0401, 王芳 , 女 , 18) ( C) INSERT INTO student VALUES(0401, 王芳 , 女 , 18) ( D) INSERT student VALUES(0401, 王芳 , 女 , 18) 25 将 “万真秀 ”的工资增加 200元 SQL语句是 ( A) REPLACE 教师 WITH 工资 =工资 +200 WHERE
19、 姓名 =“万真秀 ” ( B) UPDATE 教师 SET工资 =200 WHERE 姓名 =“万真秀 “ ( C) UPDATE 教师 工资 WITH 工资 +200 WHERE姓名 =“万真秀 “ ( D) UPDATE 教师 SET工资 =工资 +200 WHERE 姓名 =“万真秀 “ 国家二级 VF机试(关系数据 库标准语言 SQL)模拟试卷 17答案与解析 一、选择题 1 【正确答案】 B 【试题解析】 根据题意, “借书日期 ”字段为日期型变量,用 YEAR()函数可求出“借书日期 ”的年份。 【知识模块】 关系数据库标准语言 SQL 2 【正确答案】 C 【试题解析】 本题考
20、查 SQL的嵌套查询。嵌套查询是一类基于多个表的查询,查询的结果是出自一个表中的字段,但是查询的条件要涉及多个表。这种简单嵌套查询,可使用 IN或 NOT IN来判断在外层的查询条件中是否包含内层查询的结果。这里的 IN相当于集合运算符 。在选项 C)中,先在内查询中从读者表中查找出职称是 “工程师 ”的读者的 “借书证号 ”,然后以此为条件再在外查询中从借阅表中查找出对应的 “图书编号 ”。 【知识模块】 关系数据库标准语言 SQL 3 【正确答案】 C 【试题解析】 在 SQL语句中对表中的记录进行删除的基本格式为: DELETE FROM表名 WHERE条件,因为是要删除 2002年 1
21、月 1日以前签定的订单记录。 【知识模块】 关系数据库标准语言 SQL 4 【正确答案】 D 【试题解析】 本题考查的是 SQL数据更新语句 。该语句的基本命令格式为: uPDATE数据表名 SET字段名 =更新表达式值 WHERE条件表达式 当不使用 WHERE子句时,则更新全部记录。 【知识模块】 关系数据库标准语言 SQL 5 【正确答案】 A 【试题解析】 Visual FoxPro支持两种 SOL插入格式,第一种为标准格式,第二种是 visual FoxPro的特殊格式。第一种格式是: INSERTINTO表名 (字段名1,字段名 2, )VALUES( 表达式 1,表达式 2, )
22、 。其中, INSERT INTO表名说明向指 定的表中插入记录。当插入的不是完整的记录时,可以用字段名 1,字段名 2, 指定字段; VALUES(表达式 1,表达式 2, ) 给出具体的记录值。 【知识模块】 关系数据库标准语言 SQL 6 【正确答案】 B 【试题解析】 SQL的数据更新命令格式是: UPDATE表名 SET列名 1=表达式 1,列名 2=表达式 2WHERE 条件表达式 。一般使用 WHERE子句指定条件,以更新满足条件的一些记录的字段值,并且一次可以更新多个字段。如果不使用 WHERE子句,则更新全部记录。 【知识模块 】 关系数据库标准语言 SQL 7 【正确答案】
23、 D 【试题解析】 Visual FoxPro支持两种 SQL插入格式,第一种为标准格式,第二种是 Visual FoxPro的特殊格式。第一种格式是: INSERTINTO表名 (字段名1,字段名 2, )VALUES( 表达式 1,表达式 2, ) 。其中, INSERT INTO表名说明向指定的表中插入记录。当插入的不是完整的记录时,可以用字段名 1,字段名 2, 指定字段; VALLIES(表达式 1,表达式 2, ) 给出具体的记录值。本题中 SNO、 CNO为字符型,所以其属性值需要加引号,而数值型数据则不需要。 【知识模块】 关系数据库标准语言 SQL 8 【正确答案】 A 【试
24、题解析】 SQL定义语句中,删除属性的关键短语为 DROP,而 DELETE命令一般用于表中的记录,从而可以排除选项 B)、选项 C)和选项 D)。 【知识模块】 关系数据库标准语言 SQL 9 【正确答案】 A 【试题解析】 本题考查 UPDATE和 SELECT语句。 UPDATE语句用于修改表中的数据。其语法格式为: UPDATE表名称 SET列名称 =新值 WHERE列名称 =某值,对于本题来说从关系评分表中计算出每次歌手的平均分,然后用这个平均分更新歌手表中最后得分字段。 【知识模块】 关系数据库标准语言 SQL 10 【正确答案】 C 【试题解析】 Visual FoxPro支持两
25、种 SQL插入格式,第一种为标准格式,第二种是 Visual FoxPro的特殊格式。第一种格式是: INSERTINTO表名 (字段名1,字段名 2, )VAUJES( 表达式 1,表达式 2, ) 。其中, INSERT INTO表名说明向指定的表中插入记录,当插入的不是 完整的记录时,可以用字段名1,字段名 2, 指定字段; VALUES(表达式 1,表达式 2, ) 给出具体的记录值。 【知识模块】 关系数据库标准语言 SQL 11 【正确答案】 D 【试题解析】 SQL的数据更新命令格式是: UPDATE表名 SET列名 1=表达式 1,列名 2=表达式 2 WHERE条件表达式 一
26、般使用 WHERE子句指定条件,以更新满足条件的一些记录的字段值,并且一次可以更新多个字段。如果不使用 WHERE子句,则更新全部记录。 【知识模块】 关系数据库标准语言 SQL 12 【正确答案】 C 【试题解析】 SQL从表中删除数据的命令格式是: DELE FROM表名WHERE条件表达式。其中, FROM指定从哪个表中删除数据。 WHERE指定被删除的记录所满足的条件,如果不使用 WHERE子句,则表示删除该表中的全部记录。命令 DROP的功能是删除指定的数据表。 【知识模块】 关系数据库标准语言 SQL 13 【正确答案】 D 【试题解析】 SQL的数据操作功能包括数据的插入、更新和
27、删除功能,选项 A)是数据插入,选项 B)是数据更新,选项 C)是数据 删除。选项 D)是 Visual FoxPro中表记录修改命令。 【知识模块】 关系数据库标准语言 SQL 14 【正确答案】 D 【试题解析】 本题考查置删除标记的命令和通配符。 SQL置删除标记的命令是: DELETE FROM表名 WHERE逻辑表达式 。 LIKE是字符匹配运算符。通配符表示 0个或多个任意字符。对于条件图书编号以字母 A开头的图书记录,用 “图书编号 LIKE“A “”表示。 【知识模块】 关系数据库标准语言 SQL 15 【正确答案】 B 【试题解析】 在 SQL语言中 , UPDATE是更新命
28、令, INSERT是插入命令,CREATE是创建表的命令, SELECT是查询命令。 【知识模块】 关系数据库标准语言 SQL 16 【正确答案】 D 【试题解析】 客户表和订购单表是相互关联的表,其中客户号是公共字段,客户表是父表,订购单表是子表,题目中说明了订购单表参照客户表,即实施了参照完整性规则。当要向订购单表中插入一条记录时要注意两点: 新记录的订单号不能与表中已有记录的订单号重复,因为订单号是订购单表的主关键字。而题中说明订购单表中已有订购单号 OR1-OR8,就不 能再插入订单号为 OR5的记录,故可排除 A、 B选项。 由于订购单表要参照客户表,所以如果在要插入的记录中,联接字
29、段值在父表中没有相匹配的值,则禁止插入。而题中说明父表客户表中并没有 C11这个客户号,因此在子表订购单表中不能插入客户号为 C11的记录,排除选项 C。 SQL中,插入操作的命令格式: insert into dbf_name(fname1, fname2, ) values(eExpression1, eExpression2, ) 其中 dbf_name指定要插入的表,当插入的不是完整记录时, 可以用 fname1,fname2, 指定字段, values给出具体的记录值。 【知识模块】 关系数据库标准语言 SQL 17 【正确答案】 C 【试题解析】 在 SQL中用于插入记录的语法可简
30、单表示为: INSERT INTO表名 VALUES(插入记录各个字段值列表 )。 【知识模块】 关系数据库标准语言 SQL 18 【正确答案】 A 【试题解析】 本题考查删除命令和与运算符。删除命令 DELETE,题目要求删除学号为 “20091001”且课程号为 “C1”的选课记录,所以学号字段与课 程号字段之间是 and的关系。所以 where条件应表示为课程号 =C1AND学号 =20091001。 【知识模块】 关系数据库标准语言 SQL 19 【正确答案】 B 【试题解析】 删除字段的 SQL语法可简单表示为: ALTERTABLE表名 DROP字段名。 【知识模块】 关系数据库标
31、准语言 SQL 20 【正确答案】 B 【试题解析】 SQL中表示删除记录的语法可以简单表示为: DELETE FROM表名 WHERE条件。 VFP中删除记录的语法可以简单表示为: DELETE FOR条件。 【知识模块】 关系数据库标准语言 SQL 21 【正确答案】 A 【试题解析】 本题考查插入记录的命令。在 SQL语句中,插入一条新记录采用的命令是 INSERT,其格式为: 格式 1: INSERT INTO dbf_name(fname1, fname2, ) VALUES(eXpression1, eXpression2, ) 格式 2: INSERT INTO dbf_name
32、FROM ARRAY ArrayNamel FROM MEMVAR 【知识模块】 关系数 据库标准语言 SQL 22 【正确答案】 B 【试题解析】 SQL从表中删除数据的命令格式是: DELETE FROM表名WHERE条件表达式 。其中, FROM指定从哪个表中删除数据。 WHERE指定被删除的记录所满足的条件,如果不使用 WHERE子句,则删除该表中的全部记录。 【知识模块】 关系数据库标准语言 SQL 23 【正确答案】 B 【试题解析】 在 SQL语句中,删除一条记录采用的命令是 DELETE,其语法格式是 DELETE FROM TableNameWHERE Condition,所
33、以应选 B。 INSERT命令是向数据库的表中插入一条记录。 UPDATE命令是更新表中的记录。 DROP是删除表命令 【知识模块】 关系数据库标准语言 SQL 24 【正确答案】 C 【试题解析】 在 SQL语句中,插入表记录命令的格式为: INSERT INTO表名 VALUES(字段值列表 )。 【知识模块】 关系数据库标准语言 SQL 25 【正确答案】 D 【试题解析】 SQL的数据更新命令格式是: UPDATE表名 SET列名 1=表达式 1,列名 2=表达式 2WHERE 条件表达式 。对于本题将 “万真秀 ”的工资增加 200元,其对应的 SQL语句为:工资 =工资 +200 WHERE姓名 =“万真秀“。 【知识模块】 关系数据库标准语言 SQL
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1