22. 在一个工资管理数据库中,有一个表GZGL,其结构如表所示。
字段名 GH XM ZC GZ 类型 C C C N 长度 6 8 10 6 小数位 2 含义 工号 姓名 职称 工资 现在要查询出各种职称的人数及平均工资,查询结果中只包含人数超过1的人的职称分组信息。使用的SELECT 语句如下,请补充完整。
SELECT GZGL.ZC, , AVG(GZ) AS 平均工资;
FROM GZGL; GROUP BY ZC; ORDER BY 人数;
23.教学管理数据库中含有课程表(kc)及成绩表(cj)。课程表中有以下字段:课程代号(kcdh),课程名(kcm),学分(xf);成绩表中有以下字段:学号(xh),课程代号(kcdh), 成绩(cj)。成绩表记录了全体学生所学各门课程的成绩。现根据上述两表查询总学分已超过100的所有学生情况(要求输出:学号,平均分,总学分,并按学号的升序排列),可使用下述命令。(注:成绩小于60分的学分设置为0)
SELECT xh AS学号, AS平均分,sum(iif(cj>=60,xf,0)) AS总学分; FROM kc , cj
WHERE ; GROUP BY xh ;
HAVING 总学分>=100; ORDER BY xh
24.在SELECT-SQL 语句中为了将查询结果存储到临时表应该使用into 短语。 25.商品数据库中有两个表:商品基本信息表(spxx.dbf)和销售情况表(xsqk.dbf),表结构分别如下,且spxx表已经建立结构复合索引,索引表达式为spbh。
商品基本信息表(spxx.dbf) | 销售情况表(xsqk.dbf) 商品编号 spbh C,6 | 流水号 lsh C,6 商品名称 spmc C,20 | 销售日期 xsrq D 进货价 jhj N,12,2 | 商品编号 spbh C,6 销售价 xsj N,12,2 | 销售数量 xssl N,8,2 备注 bz M | 销售金额 xse N,12,2
要求在向销售情况表中添加记录时,对流水号自动加1,对位数不足字段宽度的流水号,在字符串前以字符\补足,如\补\后应为\。下列程序段就是用来完成上述功能,请将它写完整: SELECT MAX(lsh) FROM xsqk INTO CURSOR cMaxlshtmp LOCAL lcMaxlsh,lcNextlsh
lcMaxlsh= cMaxlshtmp.lsh &&求出xsqk表中最大的流水号 lcNextlsh= (lcMaxlsh)+1 &&下一个流水号在最大流水号上加1 INSERT INTO xsqk (lsh) VALUE(PADL(lcNextlsh,5,'0'))
USE cMaxlshtmp &&将临时表关闭
27.Select语句支持并运算,使用关键字 可以把多条查询语句结果合并成到一起。
28.现要求基于数据库sjk中的学生表(xs.dbf)和成绩表(cj.dbf)查询计算机科学系中所有成绩总分在465分以上(含465分),并且各门课程的成绩均不得低于60分的学生。要求在查询的结果中包含每个学生的学号、姓名、总分、平均分和各门课程的最低分,并按照总分的降序排序。 请根据上述要求完善以下SELECT-SQL命令。
第 34 页 共 50 页
学生表(xs.dbf) 字段名 XH(学号) XM(姓名) XB(性别) ZYDH(专业代号) XIMING(系名) 类型 C C C C C 宽度 8 8 2 6 16 字段名 CCXH(学号) 成绩表(cj.dbf) 类型 C C N C 宽度 8 4 3 2 小数位 0 KCDH(课程代号) CJ(成绩) DJ(等级) SELECT XS.XH,XS.XM,SUM(CJ.CJ) AS 总分, AVG(CJ.CJ) AS 平均分,; AS 最低分; FROM sjk!xs INNER JOIN sjk!cj ON XS.XH= ; WHERE XS.XIMING= “计算机科学系”; GROUP BY XS.XH; HAVING 总分>=465 AND ; ORDER BY 3
28.设某图书资料室的“图书管理”数据库中有三张表:TS.dbf(图书表)、DZ.dbf(读者表)与JY.dbf(借阅表),表结构如下: TS.dbf结构 字段名 编号 分类号 书名 出版单位 作者 单价 藏书册数 C(10) C(10) C8) C(20) C(8) N(7,2) N(4) DZ.dbf结构 字段名 借书证号 单位 姓名 性别 职称 地址 字段类型 C(6) C(18) C(8) C2) C(10) C20) JY.dbf结构 字段名 借书证号 编号 借书日期 还书日期 字段类型 C(6) C(10) D(8) D(8) 字段类型 完善下列语句以查询该图书资料室各出版单位出版图书的藏书册数、总金额和平均单价: SELECT 出版单位, SUM(藏书册数) AS 藏书总册数,;
AS 总金额, AVG(单价) AS 平均单价; FROM 图书管理!TS; GROUP BY 出版单位
完善下列语句以查询借阅次数在10次(含10次)以上的读者的借书证号、姓名、单位和借阅次数: SELECT DZ.借书证号, DZ.姓名, DZ.单位, COUNT( * ) AS 借阅次数,;
FROM 图书管理! DZ INNER JOIN 图书管理!JY; ON DZ.借书证号= ; GROUP BY 1;
借阅次数>=10
29.设有教师表和和教师任课表结构如下表所示: 字段名 gh xm xb ximing C C C C 教师表(js.dbf) 类型 宽度 5 8 2 20 含义 工号 姓名 性别 系名 字段名 gh kch kcmc kss 教师任课表(rk.dbf) 类型 C C C N 宽度 5 2 30 5 含义 工号 课程号 课程名 课时数 每位教师的基本教学任务是300课时,超额部分按每课时40元发放超课时费。下列命令用来查询每个教师的超课时费总数(一个教师可以上多门课),并将其存放到表ksf.dbf中,请将其完善。
第 35 页 共 50 页
SELECT js.gh,js.xm,SUM(rk.kss) AS 总课时; FROM js,rk; WHERE js.gh=rk.gh; GROUP BY ; INTO CURSOR zksTmp SELECT gh,xm, (总课时-300)*40 AS 超课时费; FROM zksTmp; WHERE 总课时>300; 30.已知某数据库sjk中有两张表:学生表(xs.dbf)和成绩表(cj.dbf),如下表所示。下列的SELECT语句用于查询那些至少有一门课程不及格的学生的平均成绩。请完善代码: 学生表(xs.dbf) 字段名 xh xm xb csrq 类型 C C C D 宽度 8 8 2 8 含义 学号 姓名 性别 出生日期 字段名 xh kcdh cj 成绩表(cj.dbf) 类型 C C N 宽度 8 2 3 含义 学号 课程代号 成绩 SELECT Xs.xh, Xs.xm, AVG(Cj.cj) as 平均成绩;
FROM sjk!xs INNER JOIN sjk!cj ON Xs.xh = Cj.xh; GROUP BY ; HAVING ;
ORDER BY 3 DESC
31.已知某数据库中有教师表(js.dbf)和职称表(zc.dbf),如下表所示。请完善下列的SELECT语句,查询各职称中教师参加工作时年龄最小的教师的姓名、职称、出生日期、工作日期和参加工作年龄。
教师表(js.dbf) 字段名 gh xm xb zcdh csrq gzrq jl 类型 C C C C D D M 宽度 6 8 2 2 8 8 4 含义 工号 姓名 性别 职称代号 出生日期 工作日期 简历 字段名 zcdh zc 职称表(zc.dbf) 类型 C C 宽度 2 10 含义 职称代号 职称 SELECT Js.xm,Zc.zc,Js.csrq,Js.gzrq,MIN( ) AS 最小工作年龄; FROM sjk!js INNER JOIN sjk!zc ON js.zcdh=zc.zcdh; GROUP BY ; ORDER BY 5
32. 设USER表(右图所示)含有工号(gh,C,4)和奖金(jj,N,4)等字段,其数据如下:针对该USER表,执行下列查询命令:
GH JJ SELECT COUNT(*) AS 人数, AS 奖金总和,;
1101 300 AVG(jj) AS 平均奖金;
1102 200 FROM user
则查询得到的记录数为 . 1103 .NULL. 33.设某图书管理数据库中有三张表:图书.dbf、读者.dbf与借阅.dbf。表结构如下:
1104 100 1105 第 36 页 共 50 页
.NULL. 图书.dbf 字段名 总编号 分类号 书名 出版单位 作者 单价 字段类型 C(10) C(10) C(28) C(20) C(8) N(7,2) 读者.dbf 字段名 借书证号 单位 姓名 性别 职称 地址 字段类型 C(6) C(18) C(8) C(2) C(10) C(10) 借阅.dbf 字段名 借书证号 总编号 借书日期 字段类型 C(6) C(10) D(8) 完善下列语句以查询各出版社出版图书的最低单价、平均单价和册数。 SELECT 出版单位,MIN(单价) AS 最低单价,;
AVG(单价) AS 平均单价,COUNT(*) AS 册数; FROM 图书管理!图书;
完善下列语句以查询借阅了4本(含4本)以上图书的读者姓名和单位。 SELECT 姓名,单位 FROM 图书管理!读者 WHERE 借书证号 IN;
(SELECT 借书证号 FROM 图书管理!借阅;
GROUP BY 1 HAVING )
34. 某数据库中有下列所述结构的两张表(brda和mxb),并且已创建了一对多关系。
病人档案表(brda) 字段名 病历号 姓名 性别 年龄 联系地址 类型 C C L N C 宽度 6 8 1 3 40 病人取药明细情况表(mxb) 字段名 病历号 药品编号 单价 数量 日期 类型 C C N N D 宽度 6 8 7,2 3 8 (1)下列的查询语句用于查询病人用药总金额大于5000的病人信息(病历号、姓名、总金额),请完善该语句: SELECT 病历号,姓名,SUM(单价*数量) AS 总金额;
FROM brda,mxb;
WHERE ; GROUP BY 1;
HAVING (2)如果对mxb.dbf表按病历号升序排序,在病历号相同的情况下,按日期升序排序,则索引表达式为_____________。
第六章 对象模型和事件模型一、选择题
1.下列控件中, 均不能直接添加到表单上。
A.文本框、页框 B.页面、选项按钮 C.形状、命令按钮 D.列表框、组合框
2.一些关联的类可以包含同名的方法程序,但方法程序的内容可以不同。类的这种特征称为类的______。 A.多态性 B.抽象性 C.封装性 D.继承性 3.下列几组控件中, 都是容器控件。
A.命令按钮组、选项按钮、形状 B.页面、表格、页框
C.表格列、命令按钮、标签 D.列表框、微调框、选项按钮组
第 37 页 共 50 页
4.对于列表框控件,当其控件中的内容发生改变时,将触发 事件。
A.InteractiveChange B.Init C.Destroy D.GotFocus 5.下列四个事件:Init、Load、Activate、Destroy发生的顺序为 。
A.Init、Load、Activate、Destroy B.Load、Init、Activate、Destroy C.Activate、Init、Load、Destroy D.Destroy、Load、Init、Activate 6.下列基类中,不能以 基类创建子类。
A.选项按钮 B.页框 C.标签 D.容器 7.对于任何子类或对象,一定具有的属性是 。
A.Caption B.BaseClass C.FontSize D.ForeColor 8.下列控件中, 均能以表单为他们的直接容器。
A.组合框、页面、标签 B.页框、表格、文本框 C.选项按钮、命令按钮、形状 D.容器、表格列、编辑框 9.用户在VFP中创建子类或表单时,不能新建的是 。
A.属性 B.方法 C.事件的方法代码 D.事件 10.如果要引用当前对象,则可以使用下列 关键字。
A.Thisform B.This C.Parent D.都可以 11.在事件代码中相对引用当前表单集的关键字是 。
A.This B.Thisform C.Thisformset D.都可以 12.子类或对象具有延用父类的属性、事件和方法的能力,称为类的 。 A.继承性 B.抽象性 C.封装性 D.多态性 13.创建对象时发生 事件。
A.LostFoucs B.IneractiveChage C.Init D.Click
14.从CommandButton基类创建子类cmdA和cmdB,再由cmdA类创建cmdAA子类,则cmdA、cmdB和cmdAA必具有相同的 。
A.Caption属性 B.Name属性 C.BaseClass属性 D.ParentClass属性 15. 如果要引用一个控件所在的直接容器对象,则可以使用下列 属性。
A.This B.Thisform C.Parent D.都可以 16.有关控件对象的Click事件的正确叙述是 。
A.用鼠标双击对象时引发 B.用鼠标单击对象时引发
C.用鼠标右键单击对象时引发 D.用鼠标右键双击对象时引发
17.关闭当前表单的程序代码是ThisForm.Release,其中的Release是表单对象的 。
A.标题 B.属性 C.事件 D.方法 18.下列几组控件中,均可以包含其它控件的是 。 A.选项按钮组、表单集、计时器 B.列表框、页框、文本框
C.列、命令按钮组、页面 D.命令按钮、表单、组合框 19.下面关于类、对象、属性和方法的叙述中,错误的是 。
A.类是对一类相似对象的描述,这些对象具有相同种类的属性和方法 B.属性用于描述对象的状态,方法用于表示对象的行为
C.基于同一个类产生的两个对象可以分别设置自己的属性值 D.通过执行不同对象的同名方法,其结果必然是相同的 20.让控件获得焦点,使其成为活动对象的方法是 。
A.SHOW B. RELEASE C.SETFOCUS D.GOTFOCUS
21.类具有包含和隐藏对象信息,如内部数据结构和代码的能力。这称为类的______。 A.继承性 B.抽象性 C.封装性 D.多态性 22.建立事件循环的命令为 。
A.READ EVENTS B.CLEAR EVENTS C.DO WHILE ENDDO D.FOR…ENDFOR 23.下列关于子类的存储的说法中正确的是______。
第 38 页 共 50 页