版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、vfp课程设计报告目录第一题3第二题3第三题5第四题6第五题7 1.题目假设使用如下三个数据库表学生表:s(学号,姓名,性别,出生日期,院系)课程表:c(课程号,课程名,学时)选课成绩表:sc(学号,课程号,成绩)在上述表中,出生日期数据类型为日期型,学识和成绩为数值型,其他均为字符型。(1) 用sql命令查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名;(2) 用sql语言检索选修课程在5门以上(含5门)的学生的学号、姓名和平均成绩,并按平均成绩降序排序。问题分析在第(1)小题中,要查询的是学号和姓名,限定条件是要求“选修的每门课程的成绩都高于或等于85分”。在第(2)小题中,要
2、查询的是学号、姓名和平均成绩,限定条件是要求“选修课程在5门以上(含5门)”,并要求将结果按照平均成绩的降序进行排序。数据库设计在第(1)小题中,用select从学生表中查询学号和姓名,使用where语句,根据选课成绩表中的“成绩”筛选不符合要求的部分即成绩小于85的部分。在第(2)小题中,用select从学生表和选课成绩表中查询学号、姓名、平均成绩,其中使用avg语句计算平局成绩。使用group by语句,根据学号进行分组。使用count语句从选课成绩表中查询选课的门数,将选修课程在5门以下的排除。再使用desc语句,将查询出来的结果按照平均成绩的降序排序。程序清单(1) select 学号
3、,姓名 from s not exists (select * from sc where sc.学号=s.学号 and 成绩=5 order by 平均成绩 desc测试分析在第(1)小题中,最初的语句为:select 学号,姓名 from s where sc.学号=s.学号 and 成绩=85,这样显示出来的结果是只要其中一门课程的成绩高于或等于85分的学生的学号和姓名,并不是题中要求的“每门课程的成绩都高于或等于85分”。经过从书上寻扎解决方法,我发现了exists语句。在第(2)小题中,最初在计算平均成绩的时候没有加上“as 平均成绩”,结果显示“找不到列”;在把结果进行降序排序的时
4、候,开始时直接在having语句后面加上desc,但这样是不正确的,在书上我发现,desc要和order by 语句搭配使用。2.题目有如下表的数据:部门表部门号部门名称40家用电器部10电视录摄像机部20电话手机部30计算机部商品表部门号商品名商品名称单价数量产地400101a牌电风扇200.0010广东400104a牌微波炉350.0010广东400105b牌微波炉600.0010广东201032c牌传真机1000.0020上海400107d牌微波炉420.0010北京200110a牌电话机200.0050广东200112b牌手机2000.0010广东400202a牌电冰箱3000.002
5、广东301041b牌计算机6000.0010广东300204c牌计算机10000.0010上海(1) 用sql语句按部门号查询商品名;(2) 用sql语句查询某产地提供的商品种类数;(3) 用sql语句统计各部门商品金额总和;(4) 用sql语句查询家用电器部和电话手机部价格在420到1000之间的商品信息问题分析在第(1)小题中,要查询的是商品名,限定条件是要求按部门查询。在第(2)小题中,要查询的是商品种类数,限定条件是要求按产地查询。在第(3)小题中,要查询的是商品金额总和,限定条件是要求按部门统计。在第(4)小题中,要查询的是商品信息,限定条件是商品是家用电器部或电话手机部的商品,并且
6、要求价格在420到1000之间。数据库设计在第(1)小题中,用select从商品表中查询商品名,使用where语句锁定需要查询的部门号。在第(2)小题中,用select从商品表中查询商品种类,使用right语句截取商品名称中的后3个字,进行对比分类。使用distinct语句,将相同的部分去除,得到商品的种类。使用count语句数出一共多少种。使用where语句将范围限定在需要查询的产地。在第(3)小题中,用select从商品表和部门表中查询部门名称、金额总和。使用sum语句计算金额总和。使用group by 按部门号进行分类。在第(4)小题中,用select从商品表和部门表中查询部门号、部门名
7、称、商品号、商品名称、单价、数量、产地。使用where语句添加限定条件“部门号是40或部门号是20”。使用having语句将范围缩小到单价在420到1000之间的部分。程序清单(1) select 商品名称 from 商品表 where 部门号=”40”(2) select count(distinct right(alltrim(商品名称),6) from 商品表 where 产地=”广东”(3) select 部门表.部门名称,sum(val(数量)*单价) as 金额总和 from 商品表,部门表 where 商品表.部门号=部门表.部门号 group by 商品表.部门号(4) sel
8、ect 商品表.部门号,部门名称,商品号,商品名称,单价,数量,产地 from 部门表,商品表 where 部门表.部门号=商品表.部门号 and (商品表.部门号=”40” or 商品表.部门号=”20”) having 单价 between 420 and 1000测试分析在第(2)小题中,最初的语句为:sum(数量*单价) as 金额总和,但是无法正常显示,经过反复检查后发现,因为在建表的时候“数量”设定为字符型,“单价”为数值型,因而不能进行计算,将语句改为sum(val(数量)*单价)后可以得到正确结果。在第(3)小题中,最初的语句为:count(商品名称),但这样输出来的只是商品名
9、称并非商品种类,因为存在相同的商品只可划分为同一种类,所以要截取商品名称的后3个字进行比较分类,于是改为:count(right(商品名称,6)。然而这样仍不能正常运行,原因在于,商品名称中存在着空格,需要把空格都去掉,因此将语句再改为:count(distinct right(alltrim(商品名称,6)),得到正确的查询结果。在第(4)小题中,因为涉及的查询项目很多,所以总是出现项不唯一的情况,经过逐个排除最后能够得到正确的结果。6.题目某数据库中有两个数据库表:物资表(wzb.dbf)和领用表(lyb.dbf),两个表具有一对多关系。完善下面的select语句,使其实现查询近10天内各
10、部门的各种物资领用数量。物资表(wzb.dbf)字段号类型宽度物资代号c6物资名称c12领用表(lyb.dbf)字段名类型宽度物资代号c6领用部门c20领用数量n3领用日期d8select 物资代号,物资名称,领用部门,_ as 领用数量;from wzb,lyb;where wzb.物资代码=lyb.物资代码 and _group by 1,3;order by 3,1问题分析首先要在两个表之间建立起一对多的关系。查询累计的领用数量。领用日期要大于等于当前日期之前10天之前的日期。数据库设计建立一对多关系:在“窗口”菜单中选定“数据工作期”命令,然后用“打开”按钮分别打开物资表和领用表。在“
11、别名”列表框中选定领用表,选定“属性”按钮,在“工作区属性”对话框中选定“修改”按钮,在“表设计器”窗口中单击字段名为“物资代号”的行的“索引”列。组合框中选定升序,选定“确定”按钮返回“工作区属性”对话框,选定“确定”按钮返回“数据工作期”窗口。在“别名”列表框中选定表物资表,选定“关系”按钮,在“别名”列表框中选定表物资表,在“设置索引顺序”对话框中选定“确定”按钮,建立一对多关系。使用sum语句累计计算领用数量。使用date语句将日期限定在最近10天之内。程序清单use 领用表 in 0 exclusiveuse 物资表 in 0 exclusiveselect 2set order t
12、o tag 物资代号 of 领用表 in 领用表set relation to 物资代号 into 领用表 additiveset skip to 领用表select 物资代号,物资名称,领用部门,sum(领用数量) as 领用数量;from wzb,lyb;where wzb.物资代码=lyb.物资代码 and 领用日期=date()-10group by 1,3;order by 3,1测试分析在查询近10天的物资领用情况时,最初的语句是:date()-10,这样查询出的只是10前的这一天的情况,并不是一段时间的。所以加上了“领用日期=date()-10”,得出正确的查询结果。7.题目设有
13、表文件cjb.dbf,表中共有30条记录,记录内容如下表所示:学号xh课程代号kcdh成绩cj学号xh课程代号kcdh成绩cj学号xh课程代号kcdh成绩cj99020101789902020595990302038999020102809902020684990302049899020103809902010163990203056899020104739902010262990203068499020105829902010382990203018799020106959902010493990203027899020201639902010595990203038599020202629
14、9020106769902030480990202036999020201789902040151990202049399020202809902040386(1) 求班级每门课程表的最高分和最低分;(2) 求每门课程的平均分问题分析在第(1)小题中,要查询的是最高分和最低分。在第(2)小题中,要查询的是平均成绩。数据库设计在第(1)小题中,用select从表cjb中查询最高分和最低分,使用group by 语句按课程代号分组。在第(2)小题中,用select从表cjb中查询平均成绩,其中使用avg语句计算平均成绩。使用group by 语句按课程代号分组。程序清单(1) select 课程代
15、号,mac(成绩),min(成绩) from cjb group by 课程代号(2) select 课程代号,avg(val(成绩) from cjb group by 课程代号测试分析在第(2)小题中,最初的命令是:avg(成绩),但是无法正常运行,经过反复检查发现因为在建表的时候“成绩”设定为字符型,所以不能直接用函数求平均值,因而加上“avg(val(成绩)”才能查询出正确结果。8.题目有图书管理数据库:图书(总编号c(6),分类号c(8),书名c(16),作者c(6),出版单位c(20),单价n(6,2) 读者(借书证好c(4),单位c(8),姓名c(6),职称c(6),地址c(20
16、) 借阅(借书证号c(4),总编号c(6),借书日期d(8)(1) 对图书管理数据库,查询由“清华大学出版社”或“电子工业出版社”出版,并且单价不超出20元的书名;(2) 查询所藏图书中,各个出版社的图书最高单价、平均单价和册数;(3) 求共借出多少书问题分析在第(1)小题中,要查询的是书名,限定条件是要求“由“清华大学出版社”或“电子工业出版社”出版,并且单价不超出20元”。在第(2)小题中,要查询的是最高单价、平均单价和册数,要求按出版社分组。在第(3)小题中,要查询的是共借出多少书数据库设计在第(1)小题中,用select从表图书中查询书名。使用where语句添加限定条件由“清华大学出版社”或“电子工业出版社”出版,并且单价不超出20元。使用group by语句按照书名分组。在第(2)小题中,用select从表图书中查询最高单价、平均单价和册数。使用max语句求出最高单价。使用avg语句求出平均单价。使用count语句数出册数。使用group by语句按照出版单位分组。在第(3)小题中,用select从表借阅中查询共借出多少书。使用count数出接出书的数量。程序清单(1) select 书名 from 图书 where(出版单位=“清华大学出版社”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年江西省庐山市高二历史上册期末考试测试卷附完整答案【易错题】
- 2026 综合管理岗结构化面试
- 2025年山东省安丘市高二生物上册期末考试测试卷含完整答案【全优】
- 2025年江苏省张家港市高二生物下册期末考试模拟考试卷【达标题】附答案
- 2025年云南省大理市高二历史下册期末考试自测卷附参考答案(黄金题型)
- 2026宠物经济行业市场调研及消费升级分析报告
- 2026能源节约行业市场供需分析施工现场投资评估战略规划发展报告
- 2026中国高端医疗器械行业技术突破与市场准入研究报告
- 2026细胞治疗行业市场现状与未来发展前景研究报告
- 2026中国进口饮料本土化策略与消费者接受度研究
- 统编版初中道德与法治九年级上册6.1经济实力大幅提升 议题式教学课件(共21张)+内嵌视频
- 2026年魁北克驾驶员考试试题及答案
- 留置胃管操作介绍
- 中国精神:兴国强国之魂
- 2026《高一数学培优讲义》秋季(学生版)
- 2025年甘肃省综合评标评审专家库专家考试历年参考题库含答案详解
- 招标内审制度规范
- 2025年下半年中国电信集团限公司甘肃分公司春季校园招聘易考易错模拟试题(共500题)试卷后附参考答案
- 《当代广播电视概论(第3版)》全套教学课件
- 近年文言文《岳阳楼记》中考真题30套
- 供水管道地质勘探服务合同
评论
0/150
提交评论