5.在第3个记录之后插入一个空记录,并自行输入各字段的数据内容。
【解析】本题考查的知识点是记录插入命令和替换命令的使用。先将记录指针定位在第3个记录之后,使用INSERT BLANK命令插入一个空记录,然后使用REPLACE替换命令在该空记录的所有字段值处自行输入数据内容。 【答案】GO 3 INSERT BLANK
REPLACE 商店名 WITH \王府井百货商场\,商品名 WITH \数码相机\,品牌 WITH \索尼\,单价 WITH 3500,库存量 WITH 20,是否进货 WITH .F.
6.将赛特购物中心的所有商品的库存量都增加20%。
【解析】本题考查的知识点是成批记录数据替换命令的使用。使用REPLACE命令将所有的库存量用库存量*1.2替换。注意该命令的缺省范围为当前记录,但是因为带了FOR条件子句,FOR条件子句的缺省范围为ALL,因此也可不写范围子句ALL。
【答案】REPLACE ALL库存量 WITH 库存量*1.2 FOR 商店名=\赛特购物中心\
7.将商品名为“电冰箱”或“空调”的记录生成一个新的表文件SP1.DBF。
【解析】本题考查的知识点是表文件的复制。复制表文件要使用COPY命令动词,若只复制满足条件的记录必须带上条件短语。
【答案】COPY TO SP1.DBF FOR 商品名=\电冰箱\商品名=\空调\
8.将SP.DBF原样复制为SP2.DBF,并逻辑删除SP2.DBF表中第4号和第6号记录。
【解析】本题考查的知识点是复制表文件及逻辑删除记录。使用COPY命令原样复制后,要对复制后生成的新表操作,一定得先打开新表。逻辑删除命令是DELETE,可以使用记录绝对定位命令或者范围子句,或者使用函数充当条件子句表示“第4号和第6号记录”。 【答案】COPY TO SP2.DBF USE SP2.DBF GO 4 DELETE GO 6 DELETE
或将答案中的后4条命令用如下两条命令实现: DELETE RECORD 4
DELETE RECORD 6
或将答案中的后4条命令用如下一条命令实现: DELETE FOR RECNO()=4 OR RECNO()=6
9.取消第4号记录的删除标记,把第6号记录物理删除。
【解析】本题考查的知识点是恢复逻辑删除及物理删除命令的使用。先使用RECALL命令取消第4号记录的删除标记,然后使用PACK命令将作了逻辑删除的所有记录物理删除,即第6号记录被物理删除。 【答案】RECALL RECORD 4 PACK
10.将表SP.DBF中第3号到第5号记录的商店名、商品名、品牌和单价4个字段的值复制到一个数组,并将该数组的值显示在屏幕上。
【解析】本题考查的知识点是将表的一批记录复制到数组。数组必须先定义,用DIMENSION命令定义一个二维数组,根据题目已知要复制3条记录中的4个字段,则数组的行标定义为3,列标定义为4,然后将当前记录定位在第3号记录,使用命令COPY TO ARRAY命令将表的3条记录中的4个字段复制到数组,最后使用LIST MEMORY命令将数组的所有数组元素的值显示在屏幕上。 【答案】DIMENSION AA(3,4) GO 3
COPY TO ARRAY AA FIELDS 商店名,商品名,品牌,单价 NEXT 3 LIST MEMORY LIKE AA*
第四章 查询与统计
一、 单选题及解析
1.下列有关索引的说法中,正确的是( )。。
A.候选索引既可以在自由表中创建,也可以在数据库表中创建 B.建立主索引的主关键字值不能为空,但可以有重复数值 C.建立候选索引的候选关键字值不能有重复值,但可以为空 D.建立惟一索引的索引关键字值不能有重复值
【解析】本题考查的知识点是索引的类型。索引分为主索引、候选索引、惟一索引和普通索引。主索引和候选索引的关键字值不能有重复值,也不能为空值(NULL),因此选项B、C错误。惟一索引并不限制关键字值的惟一性,但在建立的惟一索引中,只能保留同值记录的第一条,因此,选项D说法不正确。 【答案】A
2.下列有关查询和视图的说法中,不正确的是( )。 A.查询文件的扩展名为.QPR B.视图依赖于数据库的存在而存在
C. 并非所有的查询结果都适合于用图形来表达,图形主要用于分组查询中 D.查询只能够对数据表中数据进行查询,而不能对视图文件中的数据进行查询
【解析】本题考查的知识点是查询与视图的区别。查询可能对数据表或视图中的数据进行查询,因此选项D错误。 【答案】D
3. 关于查询与视图的说法错误的是( )。 A.查询和视图都可以从一个或多个表中提取数据 B.查询是作为文本文件,以扩展名.QPR存储的 C.可以通过视图更改数据源表的数据
D.视图是完全独立的,它不依赖于数据库的存在而存在
【解析】本题考查的知识点是查询与视图的区别。视图不能以自由表的形式单独存在,只能依赖于某一数据库而存在,因此选项D错误。 【答案】D
4.在Visual FoxPro中建立查询后,可以从表中提取符合指定条件的一组记录,( )。 A.但不能修改记录 B.同时又能更新数据 C.但不能设定输出字段
D.同时可以修改数据,但不能将修改的内容写回原数据表
【解析】本题考查的知识点是查询。查询的结果是只读的,不能修改,也不能更新数据,但可以自己设定输出去向。因此,选项B、C、D错误。 【答案】A
5. 下列几项中,不能作为查询输出目标的是( )。
A.临时表 B.视图 C.标签 D.图形
【解析】本题考查的知识点是查询去向。查询结果的输出格式共有7种,它们是: (1) 浏览:将查询结果输出到浏览窗口;
(2) 临时表:将查询结果存入一个临时数据表中,关闭此数据表时,查询结果丢失; (3) 数据表:将查询结果存入一个数据表中,关闭此数据表时,查询结果保留; (4) 图形:将查询结果以图形方式输出; (5) 屏幕:将查询结果输出到屏幕上; (6) 报表:将查询结果输出到报表中;
(7) 标签:将查询结果输出到标签中。 【答案】B
6. 以下关于主索引的说法正确的是( )。 A.在自由表和数据库表中都可以建立主索引 B.可以在一个数据库表中建立多个主索引 C.数据库中任何一个数据表只能建立一个主索引
D.主索引的关键字值可以为NULL
【解析】本题考查的知识点是主索引。主索引只能建立在数据库表中;用于建立主索引的关键字值不可以有重复的数据,也不可以为空值(NULL);数据库中任何一个数据表只能建立一个主索引。因此,选项A、B、D错误。 【答案】C
7.在下列四个同名文件中,查询文件是( )。 A.ABC.BAT B.ABC.QPR
C.ABC.FMT D.ABC.MEM
【解析】本题考查的知识点是查询文件的扩展名。其中ABC.FMT是屏幕格式文件,ABC.MEM是内存变量文件,ABC.BAT是批处理文件。 【答案】D
8.以下关于查询的描述中,正确的是( )。
A.只能对自由表创建查询 B.不能对自由表创建查询
C.只能对数据库表创建查询 D.可以对各种数据表创建查询
【解析】本题考查的知识点是查询的创建。查询可以对各种数据表,包括自由表与数据库表创建,还可以对视图创建。因此,选项A、B、C错误。 【答案】D
9.SELECT-SQL查询语句中ORDER BY子句的功能是( )。 A.对查询结果进行排序 B.分组统计查询结果
C.限定分组检索结果 D.限定查询条件
【解析】本题考查的知识点是SELECT-SQL查询语句中的ORDER BY子句。ORDER BY子句的功能是对查询结果进行排序输出。分组统计查询结果应用GROUP BY子句;限定分组检索结果应用HAVING子句;限定查询条件应用WHERE子句。 【答案】A
10.标准SQL查询命令的基本结构是( )。 A.SELECT…FROM...ORDERBY B.SELECT…WHERE…GROUPBY C.SELECT...WHERE…HAVING
D.SELECT…FROM…WHERE
【解析】SELECT查询命令包含很多功能各异的子句,但其基本框架通常为:
SELECT…FROM…WHERE。其中,SELECT子句用于选择查询要显示的目标列表,
FROM子句用于列出查询要用到的所有表文件,而WHERE子句用于指定查询结果的筛选条件。 【答案】D
11. SQL查询中的HAVING子句通常出现在( )子句中。
A.ORDER BY B.GROUP BY C.SORT D.INDEX
【解析】本题考查的知识点是SQL查询命令中的HAVING菜子句与GROUP BY子句。GROUP BY子句用于将查询结果中的行按一个或多个列的值分组,而HAVING子句则用于限定各组必须满足的条件,它是分组的附加条件。 【答案】B
12. SQL查询的HAVING子句的作用是( )。 A.指出分组查询的范围 B.指出分组查询的值
C.指出分组查询的条件 D.指出分组查询的字段
【解析】本题考查的知识点是SQL查询命令中的HAVING菜子句与GROUP BY子句。HAVING子句只能用于GROUP BY子句后,其作用是对分组后的结果进行筛选。 【答案】C
13.利用查询向导对两表数据进行查询,如使用内部联接,应选择( )。 A.左边表的全部行与匹配行 B.右边表的全部行与匹配行 C.仅包含两表的匹配行
D.两表中的所有行
【解析】本题考查的知识点是联接类型。选项A对应左联接,选项B对应右联接,选项C对应内部联接,选项D对应完全联接。 【答案】C
14. SELECT-SQL语句中的条件短语的关键字是( )。 A.WHERE B.WHILE C.FOR D.CONDITION
【解析】本题考查的知识点是SELECT-SQL语句中的条件短语。条件短语的关键字是WHERE,WHERE子句的作用是对所查询的表或视图中的记录进行筛选。 【答案】A
15. SELECT-SQL命令的功能是( )。 A.选择工作区 B.查询表中数据 C.修改表中数据 D.选择SQL标准
【解析】本题考查的知识点是SELECT-SQL命令的功能。SELECT-SQL命令的功能是查询表或视图中数据。 【答案】B 二、填空题及解析
1.在不使用索引的情况下,为了定位满足某个逻辑条件的记录应该使用命令_________。
【解析】本题考查的知识点是查询方式与索引的关系。没有使用索引时,只能使用直接查询命令LOCATE。 【答案】LOCATE FOR <条件>
2.假设图书数据表已经打开,数据表中有“书名”(C型)字段,并且已经按书名进行了索引。现在要使用索引查询将记录指针定位在书名为“VFP+”的第一条记录上,应该使用的命令是______。
【解析】本题考查的知识点是索引查询。索引查询命令有FIND或SEEK,因此,正确答案可以有多种,如:FIND “VFP+”、FIND VFP+等。 【答案】SEEK “VFP+” 或 FIND VFP+
3.在打开索引的情况下,为了使记录指针指向逻辑首记录,应使用命令______。
【解析】本题考查的知识点是索引的特点。在打开索引的情况下,GO TOP、GO BOTTOM及SKIP命令均为记录指针的逻辑移动。其中,GO TOP是使记录指针指向逻辑首记录,GO BOTTOM是使记录指针指向逻辑末记录,SKIP是记录指针向逻辑位置的下一条移动。 【答案】GO TOP
4.假设向水灾地区捐款的数据表有“部门”、“姓名”、“款额”共三个字段,该数据表和相应的索引文件已经打开。为汇总各部门的捐款数并存入分类汇总数据表flhz.dbf中,应使用命令_______。
【解析】本题考查的知识点是分类汇总命令。分类汇总命令的格式是:TOTAL ON <关联字段> TO <新表名> [FIELDS <数值型字段名表>],本题中,要汇总的数值型字段只有一个,因此可以缺省“FIELDS款额”子句。
【答案】TOTAL ON部门 TO flhz FIELDS 款额
5.设已经打开的数据表文件SC.DBF中有如下记录,其中“出生日期”为D型、“贷款”为N型字段,其余均为C型字段。
RECORD# 学号 姓名 出生日期 性别 籍贯 贷款 1 913101 王刚 03/11/73 男 广西 350 2 913102 李玲 04/25/73 女 江西 200 3 913103 赵冲 04/26/73 女 安徽 150 4 913104 李新 04/28/74 女 辽宁 100 5 924104 章文 05/01/75 男 云南 250 6 924105 曾重 05/02/74 男 河南 50 7 924106 梅放 05/04/75 男 贵州 50 8 924107 陆伟 05/09/75 男 陕西 150 (1)按学号建立单索引文件ISC,应该用命令___①____。 (2)求贷款总和并存入变量DKH,应该用命令___②_____。