国家二级VF机试(关系数据库标准语言SQL)模拟试卷24(题后含答案及解析)
- 格式:doc
- 大小:53.00 KB
- 文档页数:12
国家二级VF机试(关系数据库标准语言SQL)模拟试卷24 (题后含答案及解析)
题型有:1. 选择题
选择题
1. 在Visual FoxPro中,如下描述正确的是
A.对表的所有操作,都不需要使用USE命令先打开表
B.所有SQL命令对表的所有操作都不需使用USE命令先打开表
C.部分SQL命令对表的所有操作都不需使用USE命令先打开表
D.传统的FoxPro命令对表的所有操作都不需使用USE命令先打开表
正确答案:B
解析:所有SQL命令对表的所有操作都不需使用USE命令先打开表。USE是VFP中用来打开表的命令。 知识模块:关系数据库标准语言SQL
2. 使用如下三个数据表 学生表:S(学号,姓名,性别,出生日期,院系) 课程表:C(课程号,课程名,学时) 选课成绩表:SC(学号,课程号,成绩) 在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。 用SQL命令查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是
A.SELECT 学号,姓名FORM S WHERE NOT EXISTS;(SELECT*FROM
SC WHERE S
C.学号=S.学号AND成绩<85)
B.SELECT 学号,姓名FORM S WHERE NOT EXISTS;(SELECT*FROM
SC WHERE S
C.学号=S.学号AND成绩>=85)
C.SELECT学号,姓名FORM S,SCWHERE S.学号=S
C.学号AND成绩>=85
D.SELECT学号,姓名FORM S,SCWHERE S.学号=S
C.学号AND ALL 成绩>=85
正确答案:A
解析:NOT EXIS等价于NOT IN,是用来查询出不存在于子查询中的记录。选项B用NOT。EXISTS检查出的是不大于或等于85分的成绩范围内学生,正好与题意相反,所以是错误的;选项C只要有一门成绩大于或等于85分,就能被查询出来。题中要求是每门成绩都要高于或等于85分;选项D查询语句错误,不能使用ALL短语。 知识模块:关系数据库标准语言SQL
3. 使用如下关系: 客户(客户号,名称,联系人,邮政编码,电话号码) 产品(产品号,名称,规格说明,单价) 订购单(订单号,客户号,订
购日期) 订购单明细(订单号,序号,产品号,数量) 查询客户名称中有“网络”二字的客户信息的正确命令是
A.SELECT*FROM 客户 FOR 名称 LIKE’’%网络%’’
B.SELECT*FROM 客户 FOR 名称 =‘‘%网络%’’
C.SELECT*FROM 客户 WHERE 名称=‘‘%网络%’’
D.SELECT*FROM 客户 WHERE 名称 LIKE’’%网络%’’
正确答案:D
解析:Visual:FoxPro的SQL SELECT命令的语法格式中WHERE说明查询条件,即选择元组的条件,并且查询语法中没有关键词FOR,所以选项D正确。
知识模块:关系数据库标准语言SQL
4. 使用如下关系: 客户(客户号,名称,联系人,邮政编码,电话号码) 产品(产品号,名称,规格说明,单价) 订购单(订单号,客户号,订购日期) 订购单明细(订单号,序号,产品号,数量) 查询尚未最后确定订购单的有关信息的正确命令是
A.SELECT 名称,联系人,电话号码,订单号:FROM客户,订购单WHERE客户.客户号=订购单.客户号AND订购日期IS NULL
B.SELECT 名称,联系人,电话号码,订单号FROM客户,订购单WHERE客户.客户号=订购单.客户号AND订购日期=NULL
C.SELECT 名称,联系人,电话号码,订单号FROM客户,订购单FOR.客户.客户号=订购单.客户号AND订购日期IS NULL
D.SELCT 名称,联系人,电话号码,订单号FROM客户,订购单FOR.客户.客户号=订购单.客户号 AND订购日期=NULL
正确答案:A
解析:在SQL SELECT查询语句中,用WHERE说明查询条件。在表中尚未确定的值用NULL值表示,而SQL中查询空值时要用IS NULL,不能用“=”。
知识模块:关系数据库标准语言SQL
5. 使用如下关系: 客户(客户号,名称,联系人,邮政编码,电话号码) 产品(产品号,名称,规格说明,单价) 订购单(订单号,客户号,订购日期) 订购单明细(订单号,序号,产品号,数量) 假设客户表中有客户号(关键字)C1~C10共10条客户记录,订购单表有订单号(关键字)OR1~OR8共8条订购单记录,并且订购单表参照客户表。如下命令可以正确执行的是
A.INSERT 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})
正确答案:D
解析:实体完整性是保证表中记录惟一的特性。即一个表中不允许有重复的记录。由于订购单表中已经存在OR1~OR8的订单号,所以选项A和选项B的订单号OR5不可以进行插入操作。参照完整性是指当插入、删除或修改一个表
中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。由于选项C中的客户号C11在客户表中并不存在,所以选项C也不可以进行插入操作。因此正确的答案是D。 知识模块:关系数据库标准语言SQL
6. 基于学生表S和学生选课表SC两个数据表,它们的结构如下: S(学号,性别,年龄)其中学号、姓名和性别为C型字段,年龄为N型字段。 SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段(初始为空值)。查询学生选修课程成绩小于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
正确答案:C
解析:题目要求查询学生选修课程成绩小于60分的学号,要查询的字段是学号字段,条件是成绩字段的值小于60分,学号和成绩字段在SC表中,所以查询应基于SC表进行,字段即字段变量是变量名,不需要加双引号,所以排除A、D选项。成绩字段为N型字段,即为数值型为数据,不需要加任何的定界符,所以选项B也是不正确的,正确的SQL语句是SELECT DISTINCT学号FROM
SC WHERE成绩>60,即选项C。 知识模块:关系数据库标准语言SQL
7. 基于学生表S和学生选课表SC两个数据表,它们的结构如下: S(学号,性别,年龄)其中学号、姓名和性别为C型字段,年龄为N型字段。 SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段(初始为空值)。查询成绩在70分至85分之间学生的学号、课程号和成绩,正确的SQL语句是
A.SELECT 学号,课程号,成绩 FROM sc WHERE成绩BETWEEN 70
AND 85
B.SELECT 学号,课程号,成绩 FROM sc WHERE成绩>=70 OR成绩<=85
C.SELECT 学号,课程号,成绩 FROM sc WHERE成绩>=70 OR<=85
D.SELECT 学号,课程号,成绩 FROM sc WHERE成绩>>=70 AND<=85
正确答案:A
解析:SQL SELECT语句中使用特殊运算符包括BETWEEN NumberA AND
NumberB,该运算符表示该查询的条件是在NumberA与NumberB之内,相当于用AND连接的一个逻辑表达式。 知识模块:关系数据库标准语言SQL
8. 基于学生表S和学生选课表SC两个数据表,它们的结构如下: S(学号,性别,年龄)其中学号、姓名和性别为C型字段,年龄为N型字段。 SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段(初始为空值)。查询有选课记录,但没有考试成绩的学生的学号和课程号,正确的SQL语
句是
A.SELECT 学号,课程号 FROM sc WHERE成绩=‘‘‘‘
B.SELECT 学号,课程号 FROM sc WHERE成绩=NULL
C.SELECT 学号,课程号 FROM sc wHERE成绩IS NULL
D.SELECT 学号,课程号 FROM sc WHERE成绩
正确答案:C
解析:“没有考试成绩”表示成绩字段值为空,而表示空值时应该用“is null”而不能用“=”,故选项C正确。 知识模块:关系数据库标准语言SQL
9. 与“SELECT*FROM教师表INTO BDF A”等价的语句是
A.SELECT*FROM教师表TO DBF A
B.SELECT*FROM教师表TO TABLE A
C.SELECT*FROM教师表INTO TABLE A
D.SELECT*FROM教师表INTO A
正确答案:C
解析:在select语句中使用INTO DBF|TABLE TableName可以将查询的结果存放到永久表中(.dbf文件)。与题目含义相同应该是选项C。 知识模块:关系数据库标准语言SQL
10. 查询“教师表”的全部记录并存储于临时文件one.dbf中的SQL命令是
A.SELECT*FROM 教师表 INTO CURSOR one
B.SELECT*FROM 教师表 TO CURSOR one
C.SEI+ECT*FROM 教师表 INTO CURSOR DBF one
D.SELECT*FROM 教师表 TO CURSOR DBF one
正确答案:A
解析:在SQL语句中,将查询结果保存在临时表中应使用短语INTO
CURSOR。所以选项A为正确答案。 知识模块:关系数据库标准语言SQL
11. 基于图书表、读者和借阅表三个数据库表,它们的结构如下: 图书(图书编号,书名,第一作者,出版社):图书编号、书名、第一作者和出版社为C型字段,图书编号为主关键字; 读者(借书证号,单位,姓名,职称):借书证号、单位、姓名、职称为C型字段,借书证号为主关键字; 借阅(借书证号,图书编号,借书日期,还书日期):借书证号和图书编号为C型字段,借书日期和还书日期为D型字段,还书日期默认值为NULL,借书证号和图书编号共同构成主关键字。 查询第一作者为“张三”的所有书名及出版社,正确的SQL语句是