ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:26.43KB ,
资源ID:8436340      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8436340.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(《VFP》 第四章习题.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

《VFP》 第四章习题.docx

1、VFP 第四章习题第四章一、填空 1、某图书资料室的:图书管理数据库中有三张表:TS.dbf(图书表)、DZ.dbf(读者表)与JY.dbf(借阅表),表结构如下:Ts.dbf结构 DZ.dbf结构 Jy.dbf结构字段名 字段类型 字段名 字段类型 字段名 字段类型编号 C(10) 借书证号 C(6) 借书证号 C(6)分类号 C(10) 单位 C(18) 编号 C(10)书名 C(8) 姓名 C(8) 借书日期 D(8)出版单位 C(20) 性别 C(2) 还书日期 D(8)作者 C(8) 职称 C(10) 单价 N(7,2) 地址 C(20) 馆藏册数 N(4) 完善下列语句以查询该图书

2、资料室各出版单位出版图书的馆藏总册数、总金额、平均单价: SELECT 出版单位,SUM(馆藏册数) AS 馆藏总册数, ; SUM(馆藏册数*单价) AS 总金额,【 AVG( 单价) 】AS 平均单价 FROM 图书馆里!TS GROUP BY 出版单位 完善下列语句以查询借阅次数最多的前10名读者的借书证号、姓名、单位和借阅次数: SELECT【 TOP 10 】JY.借书证号,DZ.姓名,DZ.单位,COUNT(*) AS 借阅次数, ; FROM 图书馆里!DZ INNER JOIN 图书管理!JY; ON DZ.借书证号= JY.借书证号; GROUP BY 1 ; ORDER B

3、Y 【 4/借阅次数/ count(*) 】desc 2、已知借阅(JY)表中含读者类型( lx ),借阅日期( jyrq )和还书日期( hsrq )等字段.下列SQL命令用来统计教师,学生借书过期罚款人次和罚款金额.其中罚款金额的算法如下: (1)对于学生类读者( lx 字段值为X)来说,借阅期限为 30 天.每超过一天, 罚款金额以每本书每天0.05元计算; (2)对于教师类读者( lx 字段值为J)来说,借阅期限为 60 天.每超过一天, 罚款金额以每本书每天0.05元计算; SELECT 教师 AS 类型, COUNT ( * ) AS 罚款人次; SUM ( 0.05*(【 hsr

4、q-jyrq-60 】) AS 罚款金额; FROM sjk!jy ; WHERE jy.lx=J AND hsrq-jyrq60; 【 UNION 】 ; SELECT 学生 AS 类型, COUNT(*) AS 罚款人次; SUM (0.05*(hsrq-jyrq-30) AS 罚款金额; FROM sjk!jy ; WHERE jy.lx=X AND hsrq-jyrq30; 3、在SELECT-SQL语句中,若要使查询结果中无重复记录,则可使用【 distinct 】 关键字;若要组合两个SQLSELECT语句的结果(结构相同),则应使用【 union 】子句.(请写出完整的关键字)4

5、、已知学生( XS )表中含学号( xh )、性别( xb )、专业( zy )字段.下列SQL命令用来查询每个专业的男、女生人数. SELECT zy, SUM(IIF(xb=男,1, 【 0 】) AS 男生人数,;SUM(IIF(xb=女,1, 【 0 】) AS 女生人数;FROM xs;GROUP BY 15、SQL插入记录的命令是INSERT,删除记录的命令是【 delete/dele 】,修改记录的命令是【 update/upda 】.6、数据库JXSJ中有,XS(学生)表和CJ(成绩)表.学生表中有XH(学号)、XM(姓名)等字段;成绩表中有XH(学号)、KCDM(课程代码)和

6、CJ(成绩,数值型)等字段,两表通过XH字段创建了一对多的关系.下列SELECT.SQL命令用于查询各门考试成绩均在60分以上的学生成绩情况,要求输出学号、姓名和总成绩,且只输出总成绩前5名. SELECT TOP 5 Xs.xh AS学号,Xs.xm AS姓名,SUM(Cj.cj)AS总成绩; FROM jxsj!xs INNER JOIN jxsj!cj; ON Xs.xh=cj.xh; GROUP BY Xs.xh; 【 Having 】 MIN(Cj.cj)=60; ORDER BY 3 DESC7、在VFP中创建多表查询时,表之间的四种联接类型分别为内部联接、左联接、右联接和【 完全

7、联接 】8、已知某数据库表KCYZ.DBF含有5个字段,若其中有一个名为bxk的逻辑型字段,则可用下列SQL命令查询bxk字段值为.T.的所有记录,且要求输出所有字段,输出结果保存在表TEMP.DBF中. SELECT【 * 】FROM kcyz; WHERE bxk=.T.: 【 into 】Table temp9、设有一职工档案表(zgda.dbf),含有姓名(xm),部门(bm)和姓名(xb)等字段.使用下列SELECT-SQL命令可以将查询结果保存在文本文件temp.txt中:SELECT xm,bm FROM zgda ORDERBY bm 【 to file 】temp10、某图书

8、管理系统中JY(借阅)表是已还书情况的记录表,其中含有DZH(图书证号,字符型)、JYRQ(借阅日期,日期型)和HSRQ(还书日期,日期型)等字段.下列SELECT-SQL命令用于查询每个图书证号借书本数、过期本数、过期罚款数.(注:过期是指借阅超过60天,对每本书借阅超过60天者,超过部分按每天0.05元计算罚款.) SELECT Jy.dzh as图书证号,COUNT(*) as 借书本数,; 【 Sum(iif( hsrq- jyrq60,1,0) 】 AS 过期本数,; SUM(IIF(Jy.hsrq-Jy.jyrq60,(Jy.hsrq-Jy.jyrq-60)*0.05,0.00)A

9、S罚款数; FROM JY; GROUP BY Jy.dzh11、某数据库SJK中包含学生表(xs.DBF)和成绩表(CJ.DBF),表的结构如图所示XS.DBF 字段名 含义 字段类型及宽度 XH 学号 C(10) XM 姓名 C(8) XDM 系代码 C(2)CJ.DBF 字段名 含义 字段类型及宽度 XH 学号 C(10) CJ 成绩 N(3) BZ 备注 M(注:两个表均以XH为表达式创建了主索引):基于学生表和成绩表,可用下列SELECT-SQL命令查询:各系学生考试合格的人数(注:成绩大于或等于60分为合格),要求查询系代号、系人数、系合格人数. SELECT Xs.xdh AS

10、系代号,COUNT(*)AS系人数,; SUM(【 IIF( cj=60,1,0)/ IIF( cj =10 13、在某教学管理数据库中有一个学生表( XS.DBF ),其表结构及其所含有的记录数据如图所示.表结构:XS.DBF 字段名 含义 字段类型及宽度 XH 学号 C(8) XM 姓名 C(8) XB 性别 C(2) CSRQ 出生日期D表数据XHXMXBCSRQ010201 王玲女06/02/82 010203 李勇男06/09/82 010202 张三男02/08/82 010301 刘芳女06/09/82 010402 王勇敢男02/28/82 010302 李圆圆女12/12/8

11、2 010401 张勇男10/09/82对于下列 SELECT-SQL 语句,其查询结果含有 【 3 】 条记录. SELECT * FROM xs WHERE SUBSTR(xh,5,2)=01若学生表已在当前工作区打开,运行下列程序后再 VFP 主窗口显示的结果为 【 3 】 .【程序清单】 SET TALK OFFn=0CLEARGO TOPDO WHILE!EOF() IF AT(勇,xm)0 n=n+1 ENDIF SKIPENDDO?n14、若js.dbf表中含有若干字段且已在当前工作区中打开,则仅浏览表中gh、xm 、xb这三个字段的数据,可用SELECT gh,xm,xb FR

12、OM js命令,或者用BROWSE命令: BROWSE【 field xh,xm,xb/ FIEL xh,xm,xb 】15、SELECT-SQL查询语句中,表示两张表内联的关键字是【 INNER JOIN 】16、本地视图的【 基/源 】表随视图的打开而自动地打开,但是不随视图的关闭而关闭.17、在SELECT-SQL命令中,UNION子句的功能是把一条SELECT语句的查询结果同另一条SELECT语句的查询结果组合起来.用UNION子句组合的查询必须满足:列数相同, 对应的列必须具有相同的【 类型 】和【 宽度 】18、在教学管理数据库SJK中有2个表:KC.DBF(课程表)和CJ.DBF

13、(成绩表),表结构如图所示:KC.DBF 字段名 含义 字段类型及宽度 KCDH 课程代号 C(8) KCM 课程名 C(26) XF 学分 N(2)CJ.DBF 字段名 含义 字段类型及宽度 XH 学号 C(10) KCDH 课程代号 C(3) CJ 成绩 N(3)则可用下列SQL命令查询总学分大于100的学生的学号和学分.(注:成绩为60或60以上才能获得相应学分,否则学分为0): SELECT Kc.xh,SUM(【 iif( cj=60, xf,0) 】)AS总学分; FROM sjk!Kc INNER JOIN sjk!Cj: WHERE Cj.Kcdh=Kc.Kcdh; GROUP

14、 BY Cj.Xh; 【 having 】 总学分10019、教学管理数据库中含有课程表( KC )及成绩表( CJ ).课程表中含有以下字段:课程代号( kcdh ),课程名 (kcm) ,学分 (xf) ;成绩表中有以下字段:学号( xh ),课程代号 (kcdh) ,成绩( cj ).成绩表记录了全体学生所学各门课程的成绩现根据上述两表查询总学分已超过120的所有学生情况(要求输出:学号,平均分,总学分,并按学号的升序排列),可使用下述命令.(注:成绩小于 60 分的学分设置为 0 )SELECT xh AS 学号,AVG(cj.cj) AS 平均分,【 sum(IIF(cj.cj=60

15、,kc.xf,0)】AS总学分;FROM kc INNER JOIN cj ON kc.kcdh=cj.kcdh;GROUP BY xh;HAVING 总学分=120;ORDER BY xh20、某图书管理数据库有读者和借阅2个表.读者表中含有:借书证号(字符型)、单位(字符型)、姓名(字符型)等字段,借阅表中含有:借书证号(字符型),书目编号(字符型),借书日期(日期型)等字段.执行下列SELECT-SQL命令,可以检索出当前至少借阅了5本图书的读者姓名和所在单位. SELECT 姓名,单位 FROM 读者 WHERE 借书证号 IN; (SELECT 借书证号 FROM 借阅 GROUP

16、BY 借书证号 HAVING 【Count( 书目编号)/ Count(*)】 =5)21、利用查询设计器设计查询,可以实现多项功能,查询设计器最终实质上是生成一条【 查询/SELECT/SELE 】语句.22、视图可以在数据库设计器窗口中打开,也可以用USE命令打开,但在使用USE命令之前,必须打开包含该视图的【 数据库 】23、已知成绩( CJ )表中含学号( xh )、课程代号( kcdh )和成绩( cj )字段,成绩表中存有记录数据如图所示.xh kcdh cj020101 01 80020101 02 56020403 01 33020302 03 67020304 02 89运行

17、下列程序字段以后,变量 m 、 n 的值分别为【 .F. 】和【 2 】 . 【程序清单】SELECT * FROM cj;WHERE cj.cj=90,1,0) AS 优秀人数,SUM(IIF(cj.cj60,1,0) AS 不及格人数; FROM sjk!kc INNER JOIN sjk!cj; ON Kc.kcdh=Cj.kcdh; GROUP BY 【 kc.kcdh/ kcdh/1 】26、在使用Select-sql进行查询时,若要保证在查询结果中没有重复记录,可以在查询命令中使用【 DISTINCT 】关键字 (请写出完整的关键字)27、SQL SELECT语句中的【 WHERE

18、 】用于实现关系的选择操作.28、如果希望查询去向到一张临时表 temp01,则其对应的SQL的命令为 into 【 cursor/ curs 】 temp0129、用SELECT-SQL命令对数据进行查询时,SELECT命令中FROM子句用来指定数据源表,【 where 】子句用来筛选源表记录, 【 having 】子句用来筛选结果记录.30、SELECT-SQL查询语句中,分组语句的关键字是【 group by 】31、如果希望查询的顺序依某字段降序排列,则其关键字为【 desc 】32、某数据库SJK中包含XS(学生)表,其基本结构如图所示: XS.DBF 字段名 含义 字段类型及宽度

19、XH 学号 C(8) XM 姓名 C(8) XB 性别 C(2) csrq 出生日期 D若规定每位学生的生日补贴100元,可用下列SELECT-SQL命令查询并显示:各个月份出生学生的人数和各月份的补贴总额,要求输出月份、人数、补贴总额,且结果按补贴总额降序排序. SELECT 【 MONTH( csrq) 】 AS月份,COUNT(*)AS人数,; 【 COUNT(*)*100/ COUNT( xh)*100/100*count(*)/100*count( xh) 】AS 补贴总额; FROM sjk!xs; GROUP BY l: ORDER BY 3 【 DESC 】33、在教学管理数据

20、库JxsJ中有2个表:XS.DBF(学生表)和CJ.DBF(成绩表),表结构如下:XS.DBF 字段名 含义 字段类型及宽度 XH 学号 C(8) XM 姓名 C(8) XB 性别 C(2)CJ.DBF 字段名 含义 字段类型及宽度 XH 学号 C(8) KCDH 课程代号 C(3) CJ 成绩 N(3) (1)完善下列SELECT-SQL命令,其功能是基于XS表和CJ表查询总成绩前3名的学生的情况, 要求输出为XH、XM、总成绩和选课门数. SELECT 【 top 3 】 XS.xh,XS.xm,SUM(CJ.CJ) AS 总成绩,COUNT(*) AS 选课门数; FROM jxsj!x

21、s INNER JOIN jxsj!cj; ON Xs.xh=cj.xh; GROUP BY XS.xh; 【 order by 3 desc/ order by 总成绩 desc/ order by sum( cj) desc 】 (2)完善下列SELECT-SQL命令,其功能是基于XS表和CJ表查询有两门或两门以上课程不合格的学生情况.要求输出为XH、XM、选课门数和不及格门数,查询结果按不及格门数排序且将查询结果输出到打印机打印.(注:CJ小于60为不及格)SELECT XS.xh,XS.xm,COUNT(*) AS 选课门数, 【 sum(iif(cj 30 and sjcj24,1,

22、0) 】/COUNT(*) AS 通过率;FROM ksci;【 WHERE 】 SUBSTR(Kscj.zkzh,4,2)=52;【Group BY 学校代号/ Group BY 1/ Group BY left( zkzh,3)】35、SELECT-SQL查询语句中,两张表之间的连接方式共有【 4 】种36、SQL是一种高度非过程化的语言,它可以直接以【 交互 】方式使用,也可以【 程序 】方式使用.37、已知教师(js)表中含教师号(jsh#)、性别(xb)、专业(zy)字段.下列SELECTSQL语句用来查询每个专业的男教师的人数及所占比例,请填写完整该查证语句.SELECT zy A

23、S 专业, ;【 SUM(IIF( js.xb=男, 1, 0 )/ SUM(IIF( xb=男, 1, 0 ) 】 AS 男教师人数,;【 SUM(IIF( js.xb=男, 1, 0 )/ COUNT(*) 】AS 男教师所占比例,;FROM js;GROUPB 138、在 SELECT-SQL 命令中, UNION 子句的功能是把一条 SELECT 语句的查询结果同另一条 SELECT 语句的查询结果组合起来.如果某 SELECT-SQL 命令中使用了 UNION 子句将两个SELECT 语句联合起来,且需要对最终查询结果排序,则需要使用 【 1 】个 ORDER BY 子句.39、数据

24、库JXSJ中有xs(学生)表和cJ(成绩)表.学生表XH(学号)、XM(姓名)等字段;成绩表中有XH(学号)、KCDM(课程代码)和cJ(成绩,数值型)等字段,两表通过XH段创建的索引已建立了一对多关系.下列SELECT-SQL命令可用于查询各门考试成绩均在75分以上的学生总成绩,要求输出学号、姓名和总成绩,且按总成绩降序输出.SELECT Xs.xh AS 学号,Xs.xm AS 姓名,SUM(Cj.cj) AS 总成绩;FROM jxsj!xs INNER JOIN jxsj!cj;ON Xs.xh=cj.xh;GROUP BY Xs.xh;HAVING 【 MIN(cj ) 】=75;O

25、RDER BY 【 总成绩 DESC/3 DESC/ sum(cj ) DESC 】40、完善下面的命令,实现从js表中删除所有csrq在1945年1月1日以前的记录.DELETE FROM js WHERE【 Csrq1945/ 1/ 1或 Csrq=1945/ 1/ 1 】.41、已知教师表(JS.DBF)中含有一条姓名(XM)为王一平的记录,执行下列程序段后,输出结果为【 王一平 】.SELE JSLOCAT FOR XM=王一平XM=3?XM42、某城市机动车驾驶员登记表(JDCJS)中含有驾驶证号(jzh)等字段.但由于录入人员的差错,包含了一些重复的记录(jzh字段的值有重复),影响了统计结果.完善下列程序,使其可以去掉重复数据生成一个新的机动车驾驶员登记表(JDCJS1).【程序清单】SELECT【 DIST/distinct 】* FROM J

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1