您好,欢迎访问三七文档
第四章一、填空共43题(共计43分)第1题(1.0分)题号:1308某图书资料室的:图书管理数据库中有三张表: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)完善下列语句以查询该图书资料室各出版单位出版图书的馆藏总册数、总金额、平均单价:SELECT出版单位,SUM(馆藏册数)AS馆藏总册数,;SUM(馆藏册数*单价)AS总金额,【AVG(单价)】AS平均单价FROM图书馆里!TSGROUPBY出版单位完善下列语句以查询借阅次数最多的前10名读者的借书证号、姓名、单位和借阅次数:SELECT【TOP10】JY.借书证号,DZ.姓名,DZ.单位,COUNT(*)AS借阅次数,;FROM图书馆里!DZINNERJOIN图书管理!JY;ONDZ.借书证号=JY.借书证号;GROUPBY1;ORDERBY【4】desc第2题(1.0分)题号:1284已知借阅(JY)表中含读者类型(lx),借阅日期(jyrq)和还书日期(hsrq)等字段.下列SQL命令用来统计教师,学生借书过期罚款人次和罚款金额.其中罚款金额的算法如下:(1)对于学生类读者(lx字段值为X)来说,借阅期限为30天.每超过一天,罚款金额以每本书每天0.05元计算;(2)对于教师类读者(lx字段值为J)来说,借阅期限为60天.每超过一天,罚款金额以每本书每天0.05元计算;SELECT教师AS类型,COUNT(*)AS罚款人次;SUM(0.05*(【hsrq-jyrq-60】))AS罚款金额;FROMsjk!jy;WHEREjy.lx=JANDhsrq-jyrq60;【UNION】;SELECT学生AS类型,COUNT(*)AS罚款人次;SUM(0.05*(hsrq-jyrq-30))AS罚款金额;FROMsjk!jy;WHEREjy.lx=XANDhsrq-jyrq30;第3题(1.0分)题号:1328已知学生(XS)表中含学号(xh)、性别(xb)、专业(zy)字段.下列SQL命令用来查询每个专业的男、女生人数.SELECTzy,SUM(IIF(xb='男',1,【0】))AS男生人数,;SUM(IIF(xb=女,1,【0】))AS女生人数;FROMxs;GROUPBY1第4题(1.0分)题号:1195在SELECT-SQL语句中,若要使查询结果中无重复记录,则可使用【distinct】关键字;若要组合两个SQLSELECT语句的结果(结构相同),则应使用【union】子句.(请写出完整的关键字)第5题(1.0分)题号:177SQL插入记录的命令是INSERT,删除记录的命令是【delete】,修改记录的命令是【update】.第6题(1.0分)题号:1216数据库JXSJ中有,XS(学生)表和CJ(成绩)表.学生表中有XH(学号)、XM(姓名)等字段;成绩表中有XH(学号)、KCDM(课程代码)和CJ(成绩,数值型)等字段,两表通过XH字段创建了一对多的关系.下列SELECT.SQL命令用于查询各门考试成绩均在60分以上的学生成绩情况,要求输出学号、姓名和总成绩,且只输出总成绩前5名.SELECTTOP5Xs.xhAS学号,Xs.xmAS姓名,SUM(Cj.cj)AS总成绩;FROMjxsj!xsINNERJOINjxsj!cj;ONXs.xh=cj.xh;GROUPBYXs.xh;【Having】MIN(Cj.cj)=60;ORDERBY3DESC第7题(1.0分)题号:159在VFP中创建多表查询时,表之间的四种联接类型分别为内部联接、左联接、右联接和【完全联接】第8题(1.0分)题号:1241已知某数据库表KCYZ.DBF含有5个字段,若其中有一个名为bxk的逻辑型字段,则可用下列SQL命令查询bxk字段值为.T.的所有记录,且要求输出所有字段,输出结果保存在表TEMP.DBF中.SELECT【*】FROMkcyz;WHEREbxk=.T.:【into】Tabletemp第9题(1.0分)题号:171设有一职工档案表(zgda.dbf),含有姓名(xm),部门(bm)和姓名(xb)等字段.使用下列SELECT-SQL命令可以将查询结果保存在文本文件temp.txt中:SELECTxm,bmFROMzgdaORDERBYbm【tofile】temp第10题(1.0分)题号:1262某数据库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分为合格),要求查询系代号、系人数、系合格人数.SELECTXs.xdhAS系代号,COUNT(*)AS系人数,;SUM(【IIF(cj=60,1,0)】)AS系合格人数,;FROMsjk!xsINNERJOINsjk!cj;ONXs.xh=cj.xh;GROUPBY【1】第11题(1.0分)题号:1285设某图书资料室的图书管理数据库中有3张表: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)完善下列语句以查询该图书资料室各出版单位单位出版图书的藏书总册数,总金额和平均单价:SELECT出版单位,SUM(藏书册数)AS藏书总册数;SUM(【藏书册数*单价】)AS总金额,AVG(单价)AS平均单价;FROM图书管理!TS;GROUPBY出版单位完善下列语句以查询借阅次数在10次(含10次)以上的读者的借书证号,姓名,单位和借阅次数:SELECTDZ.借书证号,DZ.姓名,DZ.单位,COUNT(*)as借阅次数;FROM图书管理!DZINNTERJOIN图书管理!JY;ONDZ.借书证号=【JY.借书证号】;GROUPBY1;【Having】借阅次数=10第12题(1.0分)题号:1326在某教学管理数据库中有一个学生表(XS.DBF),其表结构及其所含有的记录数据如图所示.表结构:XS.DBF字段名含义字段类型及宽度XH学号C(8)XM姓名C(8)XB性别C(2)CSRQ出生日期D表数据XHXMXBCSRQ010201王玲女06/02/82010203李勇男06/09/82010202张三男02/08/82010301刘芳女06/09/82010402王勇敢男02/28/82010302李圆圆女12/12/82010401张勇男10/09/82对于下列SELECT-SQL语句,其查询结果含有【3】条记录.SELECT*FROMxsWHERESUBSTR(xh,5,2)='01'若学生表已在当前工作区打开,运行下列程序后再VFP主窗口显示的结果为【3】.【程序清单】SETTALKOFFn=0CLEARGOTOPDOWHILE!EOF()IFAT(勇,xm)0n=n+1ENDIFSKIPENDDO?n第13题(1.0分)题号:1217某图书管理系统中JY(借阅)表是已还书情况的记录表,其中含有DZH(图书证号,字符型)、JYRQ(借阅日期,日期型)和HSRQ(还书日期,日期型)等字段.下列SELECT-SQL命令用于查询每个图书证号借书本数、过期本数、过期罚款数.(注:过期是指借阅超过60天,对每本书借阅超过60天者,超过部分按每天0.05元计算罚款.)SELECTJy.dzhas图书证号,COUNT(*)as借书本数,;【Sum(iif(hsrq-jyrq60,1,0))】AS过期本数,;SUM(IIF(Jy.hsrq-Jy.jyrq60,(Jy.hsrq-Jy.jyrq-60)*0.05,0.00))AS罚款数;FROMJY;GROUPBYJy.dzh第14题(1.0分)题号:155若js.dbf表中含有若干字段且已在当前工作区中打开,则仅浏览表中gh、xm、xb这三个字段的数据,可用SELECTgh,xm,xbFROMjs命令,或者用BROWSE命令:BROWSE【FIELxh,xm,xb】第15题(1.0分)题号:1240在教学管理数据库SJK中有2个表:KC.DBF(课程表)和CJ.DBF(成绩表),表结构如图所示: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):SELECTKc.xh,SUM(【iif(cj=60,xf,0)】)AS总学分;FROMsjk!KcINNERJOINsjk!Cj:WHERECj.Kcdh=Kc.Kcdh;GROUPBYCj.Xh;【having】总学分100第16题(1.0分)题号:163SELECT-SQL查询语句中,表示两张表内联的关键字是【INNERJOIN】第17题(1.0分)题号:150本地视图的【基】表随视图的打开而自动地打开,但是不随视图的关闭而关闭.第18题(1.0分)题号:1338教学管理数据库中含有课程表(KC)及成绩表(CJ).课程表中含有以下字段:课程代号(kcdh),课程名(kcm),学分(xf);成绩表中有以下字段:学号(xh),课程代号(kcdh),成绩(cj).成绩表记录了全体学生所学各门课程的成绩现根据上述两表查询总学分已超过120的所有学生情况(要求输出:学号,平均分,总学分,并按学号的升序排列),可使用下述命令.(注:成绩小于60分的学分设置为0)SELECTxhAS学号,AVG(cj.cj)AS平均分,【sum(IIF(cj.cj=60,xf,0))】AS总学分;FROMkcINNERJOINcjONkc.kcdh=cj.kcdh;GROUPBYxh;HAVING总学分=120;ORDERBYxh第19题(1.0分)题号:1194某图书管理数据库有读者和借阅2个表.读者表中含有:借书证号(字符型)、单位(字符型)、姓名(字符型)等字段,借阅表中含有:借书证号(字符型),书目编号(字符型),借书日期(日期型)等字段.执行下列SELECT-SQL命令,可以检索出当前至少借阅了5本图书的读者姓名和所在单位.SELECT姓名,单位FROM读者WHERE借书证号IN;(SELECT借书证号FROM借阅GROUPBY借书证号HAVING【Count(*)】=5)第20题(1.0分)题号:153在SELECT-SQL命令中,UNION子句的功能是把一条SELECT语句的查询结果同另一条SELECT语句的查询结果组合起来.用UNION子句组合的查询必须满足:列数相同,对应的列必须具有相同的【类型】和【宽度】第21题(1.0分)题号:1331已知成绩(CJ)表中含学号(xh)、课程代号(kcdh)和成绩(cj)字段,成绩表中存有记录数据如图所示.xhkcdhcj0201010180020101025
本文标题:VFP复习题第4章
链接地址:https://www.777doc.com/doc-2858970 .html