一、选择题 下列各题A) 、B) 、C) 、D) 四个选项中,只有一个选项是正确的。
使用如下3个表: 商店(商店号 ,商店名,区域名,经理姓名) 商品(商品号 ,商品名,单价) 销售(商店号,商品号,销售日期 ,销售数量)33. 查询单价最高的商品销售情况,查询结果包括商品号、商品名、销售日期、销售数量和销售金额。正确命令是
。
A.SELECT商品,商品号,商品名,销售日期,销售数量,销售数量*单价 AS 销售金额 FROM 商品 JOIN 销售 ON 商品.商品号=销售.商品号 WHERE 单价=(SELECT MAX(单价)FROM 商品) B.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价 AS 销售金额 FROM 商品 JOIN 销售 ON 商品.商品号=销售.商品号 WHERE 单价=MAX(单价) C.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量+单价 AS 销售金额 FROM 商品 JOIN 销售 WHERE 单价=(SELECT MAX(单价)FROM 商品) D.SELECT商品.商品号,商品名,销售日期,销售数量,销售数量*单价 AS 销售金额 FROM 商品 JOIN 销售 WHERE 单价=MAX(单价) A B C D
A
[解析] 在SQL超连接查询中,FROM短语后用JOIN表示需要连接的数据表,用ON表示连接条件,WHERE表示选择元组的条件。计算检索函数COUNT()应放在SELECT短语之后(一般情况下,计算检索函数应放在SELECT短语或HAVING短语之后)。
34. 查询商品单价在10到50之间、并且日销售数量高于20的商品名、单价、销售日期和销售数量,查询结果按单价降序。正确命令是
。
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 ORDE RBY 单价 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 A B C D
D
[解析] 可以用JOIN...ON...语法进行超连结查询,也可以用WHERE直接表示数据表连接条件。ORDER BY短语表示排序,DESC短语表示降序。
35. 查询销售金额合计超过20000的商店,查询结果包括商店名和销售金额合计。正确命令是
。
A.SELECT 商店名,SUM(销售数量+单价) AS 销售金额合计 FROM 商店,商品,销售 WHERE 销售金额合计 20000 B.SELECT商店名,SUM(销售数量*单价) AS 销售金额合计>20000 FROM商店,商品,销售 WHERE商品.商品号=销售.商品号 AND 商店.商店号=销售.商店号 C.SELECT商店名,SUM(销售数量*单价) AS 销售金额合计 FROM 商店,商品,销售 WHERE商品.商品号=销售.商品号 AND 商店.商店号=销售.商店号 AND SUM(销售数量*单价)>20000 GROUP BY 商店名 D.SELECT商店名,SUM(销售数量*单价) AS 销售金额合计 FROM 商店,商品,销售 WHERE 商品.商品号=销售.商品号 AND 商店.商店号=销售.商店号 GROUP BY 商店名 HAVING SUM(销售数量*单价)>20000 A B C D
D
[解析] 用WHERE表示数据表连接条件;用GROUP BY表示分组,HAVING总是跟在GROUP BY之后,用来限定分组,即HAVING是用来表示选择分组的条件。
二、填空题 1. 数据结构分为线性结构与非线性结构,带链的栈属于______。
线性结构
[解析] 一般将数据结构分为线性结构与非线性结构两大类。如果一个非空的数据结构满足以下两个条件: ①有且只有一个根结点; ②每一个结点最多有一个前件,也最多有一个后件。 则称该数据结构为线性结构,所以带链栈为线性结构。
2. 在长度为n的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中______个元素。
n
[解析] 在顺序存储的线性表中插入一个元素时,一般是从最后的元素向后移动一位,移动到插入的位置后,插入元素。在最坏情况下,需要移动n个元素。
3. 常见的软件开发方法有结构化方法和面向对象方法。对某应用系统经过需求分析建立数据流图(DFD) ,则应采用______方法
结构化
[解析] 采用结构化方法开发软件时,需求分析阶段建立数据流图。
4. 数据库系统的核心是______。
数据库管理系统(或DBMS)
[解析] 一般认为,数据库系统包括四个部分:数据库、数据库管理系统、数据库应用程序、数据库管理员。其中DBMS是为数据库的建立、使用和维护而配置的软件,是数据库系统的核心。
5. 在进行关系数据库的逻辑设计时,E-R图中的属性常被转换为关系中的属性,联系通常被转换为______。
关系
[解析] 在实体-关系图中的联系通常被转换为关系。
6. 为了使日期的年份显示4位数字应该使用SETCENTURY______命令进行设置。
ON
[解析] SET CENTURY ON命令使日期中的年份显示4位数。
7. 在Visual FoxPro中可以使用命令DIMENSION或______说明数组变量。
DECLARE
[解析] 在VFP中,可以使用DIMENSION短语或DECLARE短语定义数组变量。
8. 在Visual FoxPro中表达式(1+2^(1+2))/(2+2)的运算结果是______。
2.25
[解析] 其中2^(1+2)表示2的3次方,其运算优先级最高。
9. 如下程序的运行结果是______。
CLEAR
STORE 100 TO x1,x2
SET UDFPARMS TO VALUE
DO p4 WITH x1,(x2)
?x1,x2
*过程p4
PROCEDURE p4
PARAMETERS x1,x2
STORE x1+1 TO x1
STORE x2+1 TO x2
ENDPROC
101 100
[解析] 过程调用可以使用两种格式,格式1可简单表示为:130过程名WITH参数表;格式2可简单表示为:过程名(参数表)。SET UDFPARMS TO VALUE命令只对第二种格式有效。题目中采用第一种格式调用过程p4,所以SET UDFPARMS TO VALUE对参数传递没有影响,x1引用传递,x2值传递。
10. 在Visual FoxPro中运行表单的命令是______。
DO FORM
[解析] VFP中运行表单的命令为:DO FORM<表单名>。
11. 为了使表单在运行时居中显示,应该将其______属性设置为逻辑真。
AutoCenter
[解析] AutoCenter属性指定表单初始化时是否自动在Visual FoxPro主窗口内居显示,默认值为.F.。
12. 为了在表单运行时能够输入密码应该使用______控件。
文本框
[解析] 文本框可用于输入数据或编辑内存变量、数组元素和非备注型字段内的数据。
13. 菜单定义文件的扩展名是mnx,菜单程序文件的扩展名是______。
mpr
[解析] 菜单定义文件(扩展文件名为mnx)存放着菜单的各项定义,但其本身是一个表文件,并不能运行。只有生成可执行的菜单文件(扩展文件名为mpr)才能通过命令“D0<菜单文件名.mpr>”运行。
14. 在Visual FoxPro中创建快速报表时,基本带区包括页标头、细节和______。
页注脚
[解析] 在VFP中创建快速报表时,基本带区包括页标头、细节和页注脚。
15. 在Visual FoxPro中建立表单应用程序环境时,显示出初始的用户界面之后,需要建立一个事件循环来等待用户的交互动作,完成该功能的命令是______,该命令使Visual FoxPro开始处理诸如单击鼠标、键盘输入等用户事件。
READ EVENTS
[解析] 建立应用程序环境,显示出初始的用户界面之后,需要建立一个事件循环来等待用户的交互动作。控制事件循环的方法是执行READ EVENTS命令,该命令使Visual FoxPro开始处理诸如鼠标单击、键入等用户事件。如果主程序中没有包含READ EVENTS或等价命令,在原开发环境中可以正确的运行程序。但是,如果要在菜单或者主屏幕中运行应用程序,程序可能显示片刻,随即退出。