资源描述
期末考试的上机随机抽查一套
第1套
1. 建立一个计算机考试成绩管理数据库,文件名为CJGL.DBC,并输入数据(40分)
有两个数据表: 学生信息表(XS.DBF)和学生成绩表(CJ.DBF)。其数据形式如下:
学生信息表(XS.DBF)
考 号
姓 名
07020104
李 萍
07040109
黄 程
07030106
王 军
07020132
周小丽
07050223
程 成
07010213
张 伟
学生成绩表(CJ.DBF)
考 号
笔试成绩
上机成绩
成绩合格否
07010213
86
优
.F.
07030106
45
缺考
.F.
07040109
91
优
.F.
07020132
74
及格
.F.
07050223
79
不及格
.F.
07020104
57
及格
.F.
要求:将数据库(CJGL.DBC)中的XS.DBF(父表)和CJ.DBF(子表)以“考号”建立一对一永久关系。
2、建立程序文件COM-SQL711.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(30分)
(1)正确修改每个学生的“成绩合格否”字段,并填入学生成绩表CJ.DBF中。规定笔试成绩<60或上机成绩为“缺考”或“不及格”,则该字段值为.F.,否则为.T.;
(2)在学生成绩表CJ.DBF中,查询并显示成绩合格学生的考号、姓名、笔试成绩和上机成绩;
(3)逻辑删除学生成绩表CJ.DBF中,上机考试缺考的考生;
(1)VFP命令:USE CJ
REPLACE ALL成绩合格否 WITH .T. FOR 笔试成绩>=60 AND (上机成绩=“及格” OR上机成绩=“优”)
SQL命令:UPDATE CJ SET 成绩合格否=.T. WHERE笔试成绩>=60 AND (上机成绩=“及格” OR上机成绩=“优”)
(2) VFP命令:SELECT 1
USE XS
INDEX ON 考号 TAG KH
SELECT 2
USE CJ
SET RELATION TO 考号 INTO XS
LIST 考号,XS.姓名,笔试成绩,上机成绩 FOR成绩合格否=.T.
SQL命令:SELECT XS.考号,姓名,笔试成绩,上机成绩 FROM XS,CJ WHERE XS.考号=CJ.考号 AND 成绩合格否=.T.
(3)VFP命令:USE CJ
DELETE FOR 上机成绩=“缺考”
SQL命令:DELETE FROM CJ WHERE上机成绩=“缺考”
第2套
有两个数据表: 职工数据表(ZGB.DBF)和工资数据表(GZB.DBF)。其数据形式如下:
职工数据表ZGB.DBF
职工号
姓名
婚否
职称
020365
周尔杰
.T.
工人
020528
王雨
.T.
技术员
010234
李丽
.F.
技术员
020458
李长新
.T.
工程师
020636
郑然
.F.
工人
工资数据表GZB.DBF
职工号
基本工资
津贴
奖金
公积金
实发工资
020365
882.00
213.5
115
90
020528
1562.00
283.0
144
140
010234
1306.00
223.0
115
120
020458
1748.00
302.0
156
160
020636
864.00
143.0
98
70
2、建立程序文件COM-SQL712.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并请用注释语句标注小题号。(30分)
(1)计算每个职工的“实发工资”字段,并填入工资数据表GZB.DBF中。其中:实发工资=基本工资+津贴+奖金-公积金;
(2)显示未婚职工的职工号、姓名、基本工资和实发工资;
(3)计算工资表GZB中所有职工的平均奖金和实发工资总额;
(1)VFP命令:USE GZB
REPLACE ALL实发工资 WITH 基本工资+津贴+奖金-公积金
SQL命令:UPDATE GZB SET 实发工资=基本工资+津贴+奖金-公积金
(2) VFP命令:SELECT 1
USE ZGB
INDEX ON 职工号 TAG ZGH
SELECT 2
USE GZB
SET RELATION TO 职工号 INTO ZGB
LIST 职工号,ZGB.姓名,基本工资,实发工资 FOR NOT ZGB.婚否
CLOSE ALL
SQL命令:SELECT GZB.职工号,姓名,基本工资,实发工资 FROM ZGB,GZB WHERE ZGB.职工号=GZB.职工号 AND NOT ZGB.婚否
(3)VFP命令:USE GZB
CALCULATE AVG(奖金),SUM(实发工资) TO A,B
?”平均奖金:”,A,” 实发工资总额:”,B
SQL命令:SELECT AVG(奖金) AS平均奖金,SUM(实发工资) AS实发工资总额FROM GZB
第3套
1、建立一个运动会成绩管理数据库,文件名为YDCJGL.DBC,并输入数据(40分)
有两个数据表: 运动员基本情况表(JBB.DBF)和运动成绩表(YDCJ.DBF)。其数据形式如下:
运动员基本情况表(JBB.DBF)
编号
姓名
部门
07001
张谦
机关
07003
吴静
机关
07005
陈冬梅
后勤
07002
王兰
机关
07004
刘涛
后勤
运动成绩表(YDCJ.DBF)
编号
跳高
游泳
其它
总成绩
07001
1
0
3
07002
5
5
3
07003
2
3
4
07004
0
7
7
07005
7
4
3
要求:将数据库(YDCJGL.DBC)中的JBB.DBF(父表)和YDCJ.DBF(子表)以“编号”建立一对一永久关系。
2、建立程序文件COM-SQL713.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并请用注释语句标注小题号。(30分)
(1)计算每位运动员的“总成绩”字段,并填入运动成绩表YDCJ.DBF中,其中:总成绩=跳高+游泳+其它;
(2)按总成绩从高到低的顺序显示运动员的编号及总成绩;
(3)显示“机关”部门各运动员的编号、姓名和总成绩;
(1)VFP命令:USE YDCJ
REPLACE ALL 总成绩 WITH 跳高+游泳+其它
SQL命令:UPDATE YDCJ SET 总成绩=跳高+游泳+其它
(2) VFP命令: USE YDCJ
INDEX ON 总成绩 TAG ZCJ DESC
LIST 编号,总成绩
SQL命令:SELECT 编号,总成绩 FROM YDCJ ORDER BY 总成绩 DESC
(3)VFP命令:SELECT 1
USE JBB
INDEX ON 编号 TAG ZGH
SELECT 2
USE YDCJ
SET RELATION TO 编号 INTO ZGB
LIST 编号,JBB.姓名,总成绩 FOR JBB.部门=“机关”
SQL命令:SELECT JBB.编号,姓名,总成绩 FROM JBB,YDCJ WHERE JBB.编号=YDCJ.编号 AND 部门=“机关”
第4套
有两个数据表: 学生信息表(XS.DBF)和食堂消费数据表(XF.DBF)。其数据形式如下:
学生信息表(XS.DBF)
IC卡号
姓 名
性别
有效期
07020104
赵鱼君
女
2008-7
07040109
芳心江
女
2008-7
07030106
艾世平
男
2008-7
07020132
周海龙
男
2008-7
07050223
陈康平
男
2008-7
07010213
邓 娟
女
2008-7
食堂消费数据表(XF.DBF)
IC卡号
时间
类别
金额
07010213
2007-11-1
面点
5.5
07030106
2007-11-1
饮料
4
07040109
2007-11-1
饮料
7
07020132
2007-11-1
热菜
8
07030106
2007-11-2
凉菜
6
07020104
2007-11-2
热菜
7
2、建立程序文件COM-SQL721.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(30分)
(1)正确修改学生信息表XS.DBF中的“有效期”字段的值。如果“IC卡号”的第4位的数值低于“4”(不包含),则有效期改正为“2008-12”;否则更改为“2009-7”;
(2)利用学生信息表和食堂消费表的一对多关联,查询并显示学生姓名为“艾世平”的食堂消费明细,包括IC卡号、时间、类别和金额;
(3)按“类别”汇总2007年11月份食堂消费金额;
(1)
VFP-命令:
Use xs
Replace有效期 WITH "2008-12" FOR SUBSTR(IC卡号,3,1) <'4'
Replace有效期 WITH "2009-7" FOR SUBSTR(IC卡号,3,1) >='4'
SQL-命令:
UPDATE XS SET 有效期="2008-12";
WHERE SUBSTR(IC卡号,3,1) <'4'
UPDATE XS SET 有效期 = "2009-7";
WHERE SUBSTR(IC卡号,3,1) >='4'
(2)
VFP-命令:
Select 1
Use xs
Index on IC卡号 TAG KH
SELECT 2
USE XF
SET RELATION TO IC卡号 INTO XS
LIST IC卡号,时间,类别,金额 FOR XS.姓名="艾世平"
SQL-命令:
SELE IC卡号,时间,类别,金额 FROM XF ;
WHERE XF.IC卡号 = ( SELE XS.IC卡号 FROM XS WHERE XS.姓名="艾世平")
(3)
VFP-命令:
Use xf
Index on类别 tag lb
Total on 类别 to hz fields金额
USE HZ
LIST类别,金额
SQL-命令:
sele 类别,sum(金额) from xf group by 类别
第5套
有两个数据表: 图书基本信息表(TUJ.DBF)和图书借阅情况表(JY.DBF)。其数据形式如下:
图书基本信息表TUJ.DBF
书号
书名
单价
第一作者
020365
VFP开发实例导航
36
邵洋
020528
VFP程序设计教程
23
刘瑞新
020234
数据库系统原理教程
18
王珊
020458
VFP及其应用系统开发
32
史济民
020636
VFP入门与提高
56
史济民
030810
基于web的数据库应用
15
邵洋
图书借阅情况表JY.DBF
书号
借出日期
有效期(天)
借阅人
020365
2007.09.03
30
张开
020528
2007.09.23
15
章缀
020234
2007.09.21
45
张开
020365
2007.09.12
15
李航
020365
2007.09.18
30
王子
2、建立程序文件COM-SQL722.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并请用注释语句标注小题号。(30分)
(1)查询有效期低于30天(含)的已借出图书的信息,包括:书号、书名、借出日期、有效期和借阅人;
(2)按第一作者分类汇总图书的总价值(即各书单价之和);
(3)以日期2007.10.15为界,将JY.DBF中超过有效借阅期的图书作删除标志;
(1)
VFP-命令:
Select 1
Use tuj
Index on书号 TAG SH
SELECT 2
USE JY
SET RELATION TO 书号 INTO TUJ
LIST 书号,日期,有效期,借阅人,TUJ.书名 FOR 有效期<=30
SQL-命令:
SELE JY.书号,日期,有效期,借阅人,书名 FROM JY,TUJ ;
WHERE 有效期<=30 AND TUJ.书号=JY.书号
(2)
VFP-命令:
Use tuj
Index on 第一作者TAG SH
Total on 第一作者TO HZ FIELDS单价
USE HZ
LIST 第一作者, 单价
SQL-命令:
SELE 第一作者,SUM(单价) FROM TUJ GROUP BY 第一作者
(3)
VFP-命令:
Use jy
dele for 日期+有效期>{^2007.10.15}
SQL-命令:
dele from jy where 日期+有效期>{^2007.10.15}
第6套
有两个数据表: 工作站表(works.DBF)和网站登陆表(logo.DBF)。其数据形式如下:
工作站表(WORKS.DBF)
IP地址
区域
202.202.0.1
2
202.202.0.2
2
202.202.0.11
3
202.202.0.12
3
202.202.1.10
4
202.202.10.18
5
网站登陆表(LOGO.DBF)
IP地址
日期
开始时间
结束时间
数据流量
202.202.0.1
2007-09-09
11:12
ONLINE
0
202.202.0.2
2007-09-09
12:30
ONLINE
0
202.202.0.11
2007-09-09
12:30
ONLINE
0
202.202.0.12
2007-09-09
11:30
11:55
0
202.202.0.12
2007-09-09
12:00
13:30
0
202.202.0.12
2007-09-09
14:09
ONLINE
0
2、建立程序文件COM-SQL723.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并请用注释语句标注小题号。(30分)
(1)假定当前统计时间为2007-09-09 16:00。网站登陆的数据流量计算公式为:登陆的总秒数,单位KB。请根据网站登陆的开始、结束时间,更新数据流量。注意结束时间标注为ONLINE的应取值16:00。时间跨度限制在24小时内;
提示:将时间统一转换为以零点开始的秒数,比如:11:12,其零点开始的秒数为11×3600+12×60。
(2)按数据流量从高到低的顺序显示IP地址为202.202.0.12工作站的登陆明细,包括IP地址、区域、日期、开始时间、数据流量;
(3)按IP地址分类汇总数据流量;
(1)
VFP-命令:
Use LOGO
REPLACE流量 WITH (16*3600)-(VAL(LEFT(登陆,2))*3600+VAL(SUBS(登陆,4,2))*60)
FOR 结束='ONLINE'
REPLACE流量WITH (VAL(LEFT(结束,2))*3600+VAL(SUBS(结束,4,2))*60)-(VAL(LEFT(登陆,2))*3600+VAL(SUBS(登陆,4,2))*60) FOR 结束<>'ONLINE'
SQL-命令:
UPDATE LOGO SET 流量=(16*3600)-(VAL(LEFT(登陆,2))*3600+VAL(SUBS(登陆,4,2))*60)
WHERE 结束='ONLINE'
UPDATE LOGO SET 流量=(VAL(LEFT(结束,2))*3600+VAL(SUBS(结束,4,2))*60)-(VAL(LEFT(登陆,2))*3600+VAL(SUBS(登陆,4,2))*60) WHERE 结束<>'ONLINE'
(2)
VFP-命令:
Select 1
Use works
Index on地址 TAG DZ
SELECT 2
USE LOGO
SET RELATION TO 地址 INTO WORKS
Index on 流量 TAG LL DESC
LIST 地址,WORKS.区域,日期,开始时间,流量
SQL-命令:
SELE LOGO.地址,区域,日期,开始时间,流量 FROM LOGO,WORKS;
WHERE LOGO.地址=WORKS.地址 ORDER BY 流量 DESC
(3)
VFP-命令:
Use LOGO
Index on地址 TAG DZ
TOTAL ON 地址 TO HZ FIELDS流量
Use hz
list 地址,流量
SQL-命令:
sele 地址,sum(流量) from logo group by 地址
第7套
有两个数据表:营销员数据表(YX.DBF)和产品销售记录表(XS.DBF)。
营业员数据表(YX.DBF)
营业员编号
姓名
职务
工作日期
1026
张曙光
经理
2005.12.25
1078
李解放
主管
2005.10.25
2123
王新华
主管
2006.03.24
2122
段德昌
办事员
2006.08.01
2105
赵跃望
办事员
2006.09.09
产品销售记录表(XS.DBF)
产品编号
营销员编号
数量
单价
销售月份
589-1685
1026
300
1289.45
2
589-1685
1026
98
1289.45
3
589-1685
1078
100
1289.45
4
589-1685
2122
134
1289.45
3
589-2000
2105
56
1190.34
2
589-2000
2123
76
1190.34
3
2、建立程序文件COM-SQL811.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(30分)
(1) 查询单笔销售数量最大的营销员姓名和职务;
(2) 查询全部职务为“主管”的营销人员的产品销售明细,包括姓名、产品编号、销售金额和月份;
(3) 按“销售月份”分组汇总销售金额;
1)
VFP-命令:
Select 1
Use yx
Index on营销员编号 TAG BH
SELECT 2
USE XS
SET RELATION TO 营销员编号 INTO YX
Index on 数量 TAG BH DESC
GO TOP
LIST 营销员编号,YX.姓名, YX.职务
SQL-命令:
SELECT TOP 1 XS.营销员编号,姓名,职务 ;
FROM YX INNER JOIN XS ON XS.营销员编号=YX.营销员编号 ;
ORDER BY 数量 DESC
2)
VFP-命令:
Select 1
Use yx
Index on营销员编号 TAG BH
SELECT 2
USE XS
SET RELATION TO 营销员编号 INTO YX
?” 姓名 产品编号 销售金额 销售月份”
Scan for yx.职务='主管'
?YX.姓名,产品编号,数量*单价,销售月份
ENDSCAN
SQL-命令:
SELECT YX.姓名,产品编号,数量*单价 AS 销售金额,销售月份;
FROM YX INNER JOIN XS ON XS.营销员编号=YX.营销员编号 WHERE 职务='主管'
3)
SQL-命令:
select sum(数量*单价) AS 销售金额,销售月份 from xs group by 销售月份
第8套
两个表文件:顾客信息表(顾客GK.DBF)和顾客消费数据表(XF.DBF)。其数据形式如下:
顾客信息表(顾客GK.DBF)
顾客编号
姓名
性别
是否会员
085422
王小凤
女
.T.
074561
孙丽
女
.F.
081313
吴远平
男
.F.
072453
程志龙
男
.T.
085211
李娟娟
女
.T.
顾客消费数据表(XF.DBF)
顾客编号
购买商品
消费金额
消费积分
074561
化妆品
588.0
081313
西服
1280.0
085211
靴子
566.0
072453
食品
218.8
081313
食品
78.0
074561
帽子
128.0
085422
皮鞋
358.0
2、建立程序文件COM-SQL812.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(30分)
(1) 计算消费积分,并填入XF.DBF表中。(其中会员的积分为消费金额,不是会员的积分为消费金额的一半);
(2) 输入任一顾客的姓名并查询顾客的消费明细,包括购买商品、消费金额和消费积分;
(3) 汇总每位顾客的消费积分,并按总积分从大到小的顺序显示。
1)
VFP-命令:
SELE 1
USE GK
INDEX ON 顾客编号 TAG BH
SELE 2
USE XF
SET RELATION TO顾客编号 INTO GK
REPLACE 消费积分 WITH 消费金额/2 FOR NOT 是否会员
REPLACE 消费积分 WITH 消费金额 FOR 是否会员
2)
VFP-命令:
USE GK
ACCEPT “输入顾客的姓名:” TO XM
LOCATE FOR 姓名=XM
BH=顾客编号
USE XF
LIST 购买商品,消费金额,消费积分 FOR顾客编号=BH
SQL-命令:
ACCEPT “输入顾客的姓名:” TO XM
Select 购买商品,消费金额,消费积分 FROM GK,XF WHERE GK.顾客编号=XF.顾客编号 AND姓名=XM
3)
VFP-命令:
USE XF
INDEX ON顾客编号 TAG BH
TOTAL ON 顾客编号 TO HZ
USE HZ
INDEX ON 消费积分 TAG JF DESC
LIST
SQL-命令:
Select 顾客编号,SUM(消费积分) AS消费积分FROM XF ;
GROUP BY顾客编号 ORDER BY 消费积分 DESC
第9套
有两个数据表: 学生成绩数据表(XSCJ.DBF)和通信录数据表(TXL.DBF)。其数据形式如下:
学生成绩数据表(XSCJ.DBF)
学号
姓名
JAVA程序设计
汇编语言
专业英语
平均分
0765526
李小林
84
88
80
0745123
林嘉蕾
77
60
72
0786122
梅琴
61
30
50
0756105
杨林
92
52
72
其中:平均分保留1位小数。
通信录数据表(TXL.DBF)
学号
家长姓名
邮编
家庭通信地址
0745123
黄佩珍
100084
北京海淀区东土城路11号
0765526
占红
610032
成都二环路北二段51号
0756105
杨军
710068
西安市第173号信箱
0786122
郭琳
400030
重庆沙坪坝小龙坎57号
二、建立程序文件COM-SQL821.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(30分)
(1)计算每个学生的平均分(平均分=(JAVA程序设计+汇编语言+专业英语)/3),保留1位小数,并填入学生成绩数据表(XSCJ.DBF)中;
(2)显示平均分前两名的学生姓名、平均成绩及家庭所在城市(家庭通信地址的前两个汉字);
(3)输出各科中有不及格的学生的姓名、家长姓名、邮编及家庭通信地址。
VFP-COMMAND参考答案如下。
(1)
VFP-命令:
Use xscj
Replace all平均分 WITH ROUND((JAVA程序设计+汇编语言+专业英语)/3,1)
SQL-命令:
UPDATE XSCJ SET 平均分=ROUND((JAVA程序设计+汇编语言+专业英语)/3,1)
(2)
VFP-命令:
Select 1
Use txl
Index on学号 TAG XH
SELECT 2
USE XSCJ
SET RELATION TO 学号 INTO TXL
Index on 平均分 TAG PJF DESC
?”姓名 平均成绩 城市”
N=1
Do while n<=2
? 姓名,平均分,LEFT(家庭通信地址,4)
N=N+1
ENDDO
SQL-命令:
SELECT TOP 2 姓名,平均分 AS 平均成绩,LEFT(家庭通信地址,4) AS 城市;
FROM XSCJ,TXL WHERE XSCJ.学号=TXL.学号 ORDER BY 平均分 DESC
(3)
VFP-命令:
Select 1
Use txl
Index on学号 TAG XH
SELECT 2
USE XSCJ
SET RELATION TO 学号 INTO TXL
LIST 姓名,家长姓名,邮编,家庭通信地址 FOR MIN(JAVA程序设计,汇编语言,专业英语)<60
SQL-命令:
SELECT 姓名 AS 学生姓名,家长姓名,邮编,家庭通信地址 FROM XSCJ,TXL;
WHERE XSCJ.学号=TXL.学号 AND MIN(JAVA程序设计,汇编语言,专业英语)<60
第10套
有两个数据表: 仓库表(CK.DBF)和职工工资表(GZ.DBF)。其数据形式如下:
仓库表(CK.DBF)
仓库编号
城市
A4578
上海
A4723
上海
H3245
武汉
H6789
武汉
F6754
重庆
职工工资表(GZ.DBF)
职工编号
仓库编号
姓名
性别
工资
01685
A4723
谢东海
男
2800
01688
H6789
张伟
男
2500
01677
H3245
李华
女
1800
01678
H6789
胡捷克
男
2000
01680
A4578
郭小丁
男
1500
01698
F6754
杨小丽
女
1600
二、建立程序文件COM-SQL822.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(30分)
(1)查询在上海工作的职工姓名、性别、工资信息;
(2)查询仓库编号的首字符低于“G”(含)的全部职工工资和;
(3)计算男、女职工的平均工资。
(1)
VFP-命令:
Select 1
Use ck
Index on仓库编号TAG BH
SELECT 2
USE GZ
SET RELATION TO 仓库编号 INTO CK
list 姓名,性别,工资 for ck.城市="上海"
SQL-命令:
SELECT 姓名,性别,工资 FROM gz,ck;
WHERE ck.仓库编号=gz.仓库编号 AND 城市="上海"
(2)
VFP-命令:
Use gz
Sum工资 to gzzh for left(仓库编号,1)<="G"
?” 仓库编号的首字符低于“G”(含)的全部职工工资和”,gzzh
SQL-命令:
SELECT SUM(工资) as 职工工资和FROM gz WHERE left(仓库编号,1)<="G"
(3)
SELECT 性别,AVG(工资) AS 平均工资 FROM GZ GROUP BY 性别
第11套
1、建立某校学生成绩管理数据库,文件名为CJGL.DBC,并输入数据(40分)
有两个数据表: 选课数据表KC.DBF和学生数据表XS.DBF。其数据形式如下:
选课数据表KC.DBF
学生数据表XS.DBF
学号
科目
成绩
学号
姓名
性别
系别
96120
96125
96456
96456
96125
96120
96120
96456
96125
高等数学
高等数学
高等数学
外语
外语
外语
文字处理
文字处理
文字处理
93.0
84.0
86.0
86.0
89.0
74.0
67.0
67.0
87.0
96120
96456
96125
张三军
李明敏
王大兵
男
女
男
金融
信息
保险
要求:将数据库(CJGL.DBC)中的KC.DBF和XS.DBF两表以“学号”建立永久关系。
2、建立程序文件COM-SQL911.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(30分)
1) 查询信息系的全部学生的成绩,包括学号、姓名、科目和成绩。
2) 统计每门课程的最低成绩。
3) 将所有学生的“文字处理”成绩调高5%。
(1)
VFP-命令:
Select 1
Use xs
Index on学号 TAG XH
SELECT 2
USE KC
SET RELATION TO 学号 INTO XS
list 学号,xs.姓名,科目,成绩 for XS.系别=[信息]
SQL-命令:
SELECT xs.学号,姓名,科目,成绩 FROM XS,kc WHERE XS.学号=KC.学号 and 系别=[信息]
(2)
SQL-命令:
SELECT 科目,MIN(成绩) AS 最低成绩 FROM KC GROUP BY 科目
(3)
VFP-命令:
Use kc
replace 成绩 with 成绩*1.05 for 科目=[文字处理]
SQL-命令:
UPDATE KC SET 成绩=成绩*1.05 WHERE 科目=[文字处理]
第12套
有教师数据表文件JSB.DBF,其内容如下:
姓名 职称 年龄 院系 课程代码
肖天海 副教授 35 外语系 01
王岩盐 教授 40 数学系 02
刘星魂 讲师 25 外语系 04
张月新 讲师 30 经管系 03
李明玉 副教授 34 外语系 01
孙民山 教授 47 数学系 02
钱无名 教授 49 经管系 03
课程代码表文件KCB.DBF,其内容如下:
课程代码 课程名称
01 外语
02 会计
03 工商管理
04 俄语
2、建立程序文件COM-SQL912.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(30分)
(1)查询年龄在45岁以下的教授的信息;
(2)统计讲授“外语”课的教师人数;
(3)按课程代码降序显示年龄小于35岁的教师的姓名,年龄,院系名。
(1)
VFP-命令:
Use jsb
List for 年龄<45 AND 职称=[教授]
SQL-命令:
SELECT * FROM JSB WHERE 年龄<45 AND 职称=[教授]
(2)
VFP-命令:
Use kcb
Locate for课程名称=[外语]
Dm=课程代码
Use jsb
Count to rs for课程代码=dm
?” 讲授外语课的教师人数”,dm
SQL-命令:
SELECT COUNT(*) FROM JSB WHERE课程代码 IN
(SELECT 课程代码 FROM KCB WHERE 课程名称=[外语])
(3)
VFP-命令:
Use jsb
Index on课程代码 tag dm desc
list 姓名,年龄,院系 for年龄<35
SQL-命令:
SELECT 姓名,年龄,院系 FROM JSB WHERE年龄<35 ORDER BY 课程代码 DESC
第13套
2个数据表:产品信息数据表(CP.DBF)和产品销售数据表(XS.DBF),其数据形式如下:
产品信息数据表(
展开阅读全文