国家二级VF机试(关系数据库标准语言SQL)模拟试卷19
选择题
1.在Visual FoxPro中,如下描述正确的是(B)
A. 对表的所有操作,都不需要使用USE命令先打开表
B. 所有SQL命令对表的所有操作都不需使用USE命令先打开表
C. 部分SQL命令对表的所有操作都不需使用USE命令先打开表
D. 传统的FoxPro命令对表的所有操作都不需使用USE命令先打开表
解析:所有SQL命令对表的所有操作都不需使用USE命令先打开表。USE是VFP中用来打开表的命令。
2.基于学生表S和学生选课表SC两个数据表,它们的结构如下:
S(学号,性别,年龄)其中学号、姓名和性别为C型字段,年龄为N型字段。
SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段(初始为空值)。
查询学生选修课程成绩小于60分的学号,正确的SQL语句是(C)
A. SELECT DISTINCT 学号 FROM SC WHERE\\
B. SELECT DISTINCT 学号 FROM SC WHERE 成绩<\\
C. SELECT DISTINCT 学号 FROM SC WHERE 成绩>60
D. SELECT DISTINCT\\
解析:题目要求查询学生选修课程成绩小于60分的学号,要查询的字段是学号字段,条件是成绩字段的值小于60分,学号和成绩字段在SC表中,所以查询应基于SC表进行,字段即字段变量是变量名,不需要加双引号,所以排除A、D选项。成绩字段为N型字段,即为数值型为数据,不需要加任何的定界符,所以选项B)也是不正确的,正确的SQL语句是SELECT DISTINCT 学号 FROM SC WHERE 成绩>60,即选项C)。
3.基于图书表、读者和借阅表三个数据库表,它们的结构如下:
图书(图书编号,书名,第一作者,出版社):图书编号、书名、第一作者和出版社为C型字段,图书编号为主关键字;
读者(借书证号,单位,姓名,职称):借书证号、单位、姓名、职称为C型字段,借书证号为主关键字;
借阅(借书证号,图书编号,借书日期,还书日期):借书证号和图书编号为C型字段,借书日期和还书日期为D型字段,还书日期默认值为NULL,借书证号和图书编号共同构成主关键字。
查询第一作者为“张三”的所有书名及出版社,正确的SQL语句是(B)
A. SELECT 书名,出版社 FROM 图书 WHERE 第一作者=张三
B. SELECT 书名,出版社 FROM 图书 WHERE 第一作者=\\
C. SELECT 书名,出版社 FROM 图书 WHERE\\
D. SELECT 书名,出版社 FROM 图书 WHERE\\
解析:本题考察的知识点是SQL查询,在SQL,语句中,字段名不需要加引号,字段的取值则需要加引号。所以本题答案为B)。
4.使用如下三个表:
商店(商店号,商店名,区域名,经理名)
商品(商品号,商品名,单价)
销售(商店号,商品号,销售日期,销售数量)
查询商品单价在10到50之间、并且日销售数量高于20的商品名、单价、销售日期和销售数量,查询结果按单价降序。正确命令是(D)
A. SELECT 商品名,单价,销售日期,销售数量 FROM 商品 JOIN 销售 WHERE (单价 BETWEEN 10 AND 50)AND 销售数量>20 ORDER BY 单价 DESC
B. SELECT 商品名,单价,销售日期,销售数量 FROM 商品 JOIN 销售 WHERE (单价 BETWEEN 10 AND 50) AND 销售数量>20 ORDER BY单价
C. SELECT 商品名,单价,销售日期,销售数量 FROM 商品,销售 WHERE (单价 BETWEEN 10 AND 50) AND 销售数量>20 ON 商品.商品号=销售.商品号 ORDER BY 单价
D. SELECT 商品名,单价,销售日期,销售数量 FROM 商品,销售 WHERE (单价BETWEEN 10 AND 50) AND 销售数量>20 AND商品.商品号=销售.商品号 ORDER BY 单价 DESC
解析:可以用JOIN…ON…语法进行超连接查询,也可以用WHERE直接表示数据表连接条件。ORDER BY短语表示排序,DESC短语表示降序。
5.设有订单表order(其中包含字段:订单号,客户号,职员号,签订日期,金额),查询2007年所签订单的信息,并按金额降序排序,正确的SQL命令是(A)
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 YEAR(签订日期)=2007 ORDER BY金额DESC
解析:根据SQL查询语句的基本结构,可以很容易发现选项B和选项D中,用来指定查询条件的WHERE关键字错误,首先排除这两个选项,然后,根据题目要求,需要按金额降序排序查询结果,在排序语句中,ASC短语表示升序排序,是默认的排序方式,可省略;而DESC短语表示降序排序,不可以缺少,选项A)和C)中,选项A)采用的是降序排序,与题目要求相符,正确答案为A)。
6.设有学生表S(学号,姓名,性别,年龄),查询所有年龄小于等于18岁的女同学,并按年龄进行降序排序,生成新的表WS,正确的SQL语句是(A)
A. SELECT*FROM S:WHERE 性别=’女’AND 年龄<=18 ORDER BY 4 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
解析:题干中要求按年龄降序排列,在SQL SELECT中用来排序的关键短语是ORDER BY,可以指定排序方式为升序(ASC)或降序(DESC)。另外,字段名是变量,所以不能加引号,否则是表示一个字符型常量。
7.使用如下数据表:
学生.DBF:学号(C,8),姓名(C,6),性别(C,2),出生日期(D)选课.DBF:学号(C,8),课程号(C,3),成绩(N,5,1)
假定学号的第3、4位为专业代码,要计算各专业学生选修课程号为“101”课程的平均成绩,正确的SQL语句是(B)
A. SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课;WHERE 课程号=\\
B. SELECT SUBS(学号,3,2)AS 专业,AVG(成绩)AS 平均分 FROM 选课;WHERE 课程号=\\
C. SELECT SUBS(学号,3,2)AS 专业,AVG(成绩)AS 平均分 FROM 选课;WHERE 课程号=\\
D. SELECT 专业 AS SUBS(学号,3,2),平均分 AS AVG(成绩) FROM 选课;WHERE 课程号=\\
解析:题干要求对各专业计算平均分,所
本文档预览:3600字符,共13020字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载