1、 期末考试的上机随机抽查一套 第1套 1. 建立一个计算机考试成绩管理数据库,文件名为CJGL.DBC,并输入数据(40分) 有两个数据表: 学生信息表(XS.DBF)和学生成绩表(CJ.DBF)。其数据形式如下: 学生信息表(XS.DBF) 考 号 姓 名 07020104 李 萍 07040109 黄 程 07030106 王 军 07020132 周小丽 07050223 程 成 07010213 张 伟 学生成绩表(CJ.DBF) 考 号 笔试成绩 上机成绩 成绩合格
2、否 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命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(
3、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笔试成绩>
4、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 上机成绩=“缺考”
5、 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
6、 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.
7、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 职工号
8、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实发工资总额FRO
9、M GZB 第3套 1、建立一个运动会成绩管理数据库,文件名为YDCJGL.DBC,并输入数据(40分) 有两个数据表: 运动员基本情况表(JBB.DBF)和运动成绩表(YDCJ.DBF)。其数据形式如下: 运动员基本情况表(JBB.DBF) 编号 姓名 部门 07001 张谦 机关 07003 吴静 机关 07005 陈冬梅 后勤 07002 王兰 机关 07004 刘涛 后勤 运动成绩表(YDCJ.DBF) 编号 跳高 游泳 其它 总成绩 07001 1 0 3
10、 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中,其中:总成绩=跳高+游泳+其
11、它; (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
12、 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卡号
13、姓 名 性别 有效期 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 070201
14、32 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”;
15、 (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' UPDAT
16、E 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)
17、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
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,要求将完
19、成下列各小题任务的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
20、 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 de
21、le 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 网站登陆
22、表(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
23、 2、建立程序文件COM-SQL723.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并请用注释语句标注小题号。(30分) (1)假定当前统计时间为2007-09-09 16:00。网站登陆的数据流量计算公式为:登陆的总秒数,单位KB。请根据网站登陆的开始、结束时间,更新数据流量。注意结束时间标注为ONLINE的应取值16:00。时间跨度限制在24小时内; 提示:将时间统一转换为以零点开始的秒数,比如:11:12,其零点
24、开始的秒数为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
25、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 Us
26、e 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流
27、量 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
28、 赵跃望 办事员 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、建立程
29、序文件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 I
30、ndex 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 fo
31、r 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)。其数据形式如下:
32、顾客信息表(顾客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 食品
33、 78.0 074561 帽子 128.0 085422 皮鞋 358.0 2、建立程序文件COM-SQL812.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(30分) (1) 计算消费积分,并填入XF.DBF表中。(其中会员的积分为消费金额,不是会员的积分为消费金额的一半); (2) 输入任一顾客的姓名并查询顾客的消费明细,包括购买商品、消费金额和消费积分; (3) 汇总每位顾客的消费积分,并按总积分从大到小的顺序显示。 1) VF
34、P-命令: 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 “输入顾客的姓名:
35、 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)和通信录数
36、据表(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号
37、 0765526 占红 610032 成都二环路北二段51号 0756105 杨军 710068 西安市第173号信箱 0786122 郭琳 400030 重庆沙坪坝小龙坎57号 二、建立程序文件COM-SQL821.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释语句标注小题号。(30分) (1)计算每个学生的平均分(平均分=(JAVA程序设计+汇编语言+专业英语)/3),保留1位小数,并填入学生成绩数据表(XSCJ.DBF)中; (2)显示平均分前两名的学生姓名
38、平均成绩及家庭所在城市(家庭通信地址的前两个汉字); (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 S
39、ET 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学号
40、 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)。其数据形式如下:
41、 仓库表(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
42、 二、建立程序文件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 姓名,性别,工资
43、 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 GROU
44、P 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 8
45、6.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)
46、统计每门课程的最低成绩。 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 GRO
47、UP 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
48、 经管系 03 李明玉 副教授 34 外语系 01 孙民山 教授 47 数学系 02 钱无名 教授 49 经管系 03 课程代码表文件KCB.DBF,其内容如下: 课程代码 课程名称 01 外语 02 会计 03 工商管理 04 俄语 2、建立程序文件COM-SQL912.PRG,要求将完成下列各小题任务的VFP数据表操作命令或VFP-SQL命令写在该程序文件中。在程序首行用注释语句注明考生姓名和准考证号,并用注释
49、语句标注小题号。(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 ?” 讲授外语课的教师人数”,d
50、m 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),其数据形式如下: 产品信息数据表(






