vfp查询设计器题目及答案_第1页
vfp查询设计器题目及答案_第2页
vfp查询设计器题目及答案_第3页
vfp查询设计器题目及答案_第4页
vfp查询设计器题目及答案_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

-.z实验五实验目的:掌握数据库表之间的永久关联及参照完整性的设置;掌握使用表设计器设计查询文件;掌握使用SELECT语句设计查询。实验内容〔按顺序做,第3题中的单号题写到实验报告中。注意将所有题存到自己的盘上〕1.设置自己的文件夹为默认文件夹。翻开“学生管理〞工程。2.创立数据库表之间的永久关联及设置参照完整性。〔1〕翻开“学生-课程〞数据库设计器,用鼠标左键拖动学生表中的主索引*h到选课表的普通索引*h〔注意这两个索引都应是按**字段进展排序的索引〕,两个表之间出现一条连线,该连线即为两表间按**相等的一个的永久关联。〔2〕按上面同样的方法创立课程表和选课表之间的按课程号相等的永久关联。〔3〕设置如下参照完整性:使用“数据库〞菜单中的“编辑参照完整性〞或右单击永久关系连线选“编辑参照完整性〞,翻开“参照完整性生成器〞要求更新学生表中的*一**时选课表中的一样**也相应更新。〔提示:将学生与选课间的“更新规则〞设为“级联〞〕要求删除课程表中的*门课时选课表中该课的有关记录也相应删除。〔提示:将课程与选课间的“删除规则〞设为“级联〞〕③要求在选课表中插入一条学生的选课记录时,如果学生表中没有该学生或课程表中没有该课则制止插入。〔提示:将学生与选课间的“插入规则〞设为“限制〞〕〔4〕测试〔3〕中的设置,理解参照完整性的含义。3.在工程中设计如下查询,单号题用select命令〔写到程序中〕,双号题用查询设计器:注意:查询前先翻开“学生-课程〞数据库,并且设为当前库〔1〕创立程序文件Q1,用select命令查询“计算机〞系的学生的**、**、和出生日期,结果按**升序排。运行程序查看运行结果。使用设计器设计:添加表:学生表“字段〞选项卡:**、**、出生日期“筛选〞选项卡:所在系=’计算机’“排序〞选项卡:**升序使用命令:SELECT**,**,出生日期;FROM学生;WHERE所在系="计算机";ORDERBY**查询结果如下:〔2〕创立查询文件Q2,查询“计算机〞系的学生的**、性别、年龄,结果按年龄升序排。运行查询文件查看运行结果。使用设计器设计:添加表:学生表“字段〞选项卡:**、性别、YEAR(DATE())-YEAR(学生.出生日期)AS年龄“筛选〞选项卡:所在系=’计算机’“排序依据〞选项卡:YEAR(DATE())-YEAR(学生.出生日期)AS年龄使用命令:SELECT**,性别,YEAR(DATE())-YEAR(学生.出生日期)AS年龄;FROM学生;ORDERBY3查询结果如下:〔3〕创立程序文件Q3,用select命令查询都有哪些系,要求系不能重复。运行程序查看运行结果。使用设计器设计:添加表:学生表“字段〞选项卡:所在系“杂项〞选项卡:选中“无重复记录〞复选框使用命令:SELECTDISTINCT所在系FROM学生查询结果如下:〔4〕创立查询文件Q4,查询选了“001〞号课的学生的**和成绩,结果按成绩降序排,结果放到表“成绩001号课〞表中。运行查询文件,将存放查询结果的文件添加到工程的自由表中,浏览该自由表从而查看查询结果。使用设计器设计:添加表:学生表、选课表“字段〞选项卡:**、成绩“联接〞选项卡:innerjoin学生.**=选课.**“筛选〞选项卡:课程号=’001’“排序依据〞选项卡:成绩降序“查询去向〞:表“成绩001号课〞使用命令:SELECT**,成绩;FROM学生INNERJOIN选课ON学生.**=选课.**;WHERE课程号="001";ORDERBY成绩DESCINTOTABLE成绩001号课查询结果如下:〔5〕创立程序文件Q5,用select命令查询“计算机〞系学生选了“001〞号课学生的**、成绩,结果按成绩降序排。运行程序查看运行结果。使用设计器设计:添加表:学生表、选课表“字段〞选项卡:**、成绩“联接〞选项卡:innerjoin学生.**=选课.**“筛选〞选项卡:所在系=’计算机’and课程号=’001’“排序依据〞选项卡:成绩降序使用命令:SELECT**,成绩;FROM学生INNERJOIN选课ON学生.**=选课.**;WHERE所在系="计算机"AND课程号="001";ORDERBY成绩DESC查询结果如下:〔6〕创立查询文件Q6,查询成绩在80及80分以上的学生的**、课程名和成绩,输出时先按课程名升序排,课程名一样的再按成绩降序排。运行查询文件查看运行结果。使用设计器设计:添加表:学生表、选课表、课程表“字段〞选项卡:**、课程名、成绩“联接〞选项卡:innerjoin学生.**=选课.**innerjoin课程.课程号=选课.课程号“筛选〞选项卡:成绩>=80“排序依据〞选项卡:课程名升序、成绩降序使用命令:SELECT**,课程名,成绩;FROM学生INNERJOIN选课INNERJOIN课程;ON课程.课程号=选课.课程号ON学生.**=选课.**;WHERE成绩>=80;ORDERBY课程名,成绩DESC查询结果如下:〔7〕创立程序文件Q7,用select命令查询平均成绩大于等于80的学生的**、**平均成绩。运行程序查看运行结果。使用设计器设计:添加表:学生表、选课表“字段〞选项卡:**、**、AVG(选课.成绩)AS平均成绩“联接〞选项卡:innerjoin学生.**=选课.**“分组依据〞选项卡:**“满足条件〞〔筛选组〕:平均成绩>=80“排序依据〞选项卡:**升序使用命令:SELECT学生.**,**,AVG(选课.成绩)AS平均成绩;FROM学生INNERJOIN选课ON学生.**=选课.**;GROUPBY学生.**;HAVING平均成绩=>80查询结果如下:〔8〕创立查询文件Q8,查询各科成绩的最高分。结果包括课程名和最高分两列。运行查询文件查看运行结果。使用设计器设计:添加表:课程表、选课表“字段〞选项卡:课程名、MA*(选课.成绩)AS最高分“联接〞选项卡:innerjoin课程.课程号=选课.课程号“分组依据〞选项卡:课程名使用命令:SELECT课程名,MA*(选课.成绩)AS最高分;FROM课程INNERJOIN选课ON课程.课程号=选课.课程号;GROUPBY课程.课程名查询结果如下:〔9〕创立程序文件Q9,用select命令查询选课人数多于10人的课程名和选课人数。运行程序查看运行结果。使用设计器设计:添加表:课程表、选课表“字段〞选项卡:课程名、COUNT(选课.**)AS选课人数“联接〞选项卡:innerjoin课程.课程号=选课.课程号“分组依据〞选项卡:课程名“满足条件〞〔筛选组〕:选课人数>=10使用命令:SELECT选课.课程名,COUNT(选课.**)AS选课人数;FROM课程INNERJOIN选课ON课程.课程号=选课.课程号;GROUPBY选课.课程名;HAVING选课人数=>10查询结果如下:〔10〕创立查询文件Q10,查询数学成绩前5名的学生的**和数学成绩。运行查询文件查看运行结果。使用设计器设计:添加表:学生表、选课表、课程表“字段〞选项卡:**、成绩“联接〞选项卡:innerjoin学生.**=选课.**innerjoin课程.课程号=选课.课程号“筛选〞选项卡:课程名=’数学’“排序依据〞选项卡:成绩降序“杂项〞:不选“全部〞复选框,“记录个数〞改成5使用命令:SELECTTOP5**,成绩;FROM学生INNERJOIN选课INNERJOIN课程;ON课程.课程号=选课.课程号ON学生.**=选课.**;WHERE课程名="数学";ORDERBY成绩DESC查询结果如下:4.翻开“客户管理〞工程,翻开“订货管理〞数据库,在该工程中使用查询设计器设计如下查询:习题13〔271页〕第三题的1、2、3、4、5题。注意:查询前先翻开“订货管理〞数据库并设为当前库。〔1〕查询客户名为“三益贸易公司〞的订购单明细,结果先按“订单号〞升序排,同一订单的再按“单价〞降序排。结果存到results14_1中。使用设计器:添加表:customer、order_list、order_detail“字段〞选项卡:order_detail表中的所有字段“联接〞选项卡:innerjoincustomer.khh=order_list.khhInnerjoinorder_list.ddh=order_detail.ddh“筛选〞选项卡:customer.khm=’益贸易公司’“排序依据〞选项卡:ddh升序、dj降序“分组依据〞选项卡:“杂项〞选项卡:“查询去向〞:表“results14_1〞使用命令:SELECTOrder_detail.*;FROMcustomerINNERJOINorder_listINNERJOINorder_detail;ONOrder_list.ddh=Order_detail.ddhONCustomer.khh=Order_list.khh;WHERECustomer.khm="三益贸易公司";ORDERBYOrder_detail.ddh,Order_detail.djDESC;INTOTABLEresults14_1.dbf查询结果:〔2〕查询目前有订购单的客户信息,即有对应的order_list记录的customer表中的记录,同时要求按khh升序排,将结果存到results14_2中。使用设计器:添加表:customer、order_list“字段〞选项卡:customer表中的所有字段“联接〞选项卡:innerjoincustomer.khh=order_list.khh“排序依据〞选项卡:customer.khh“杂项〞选项卡:选中复选框“无重复记录〞“查询去向〞:表“results14_2〞使用命令SELECTDISTINCTCustomer.*;FROMcustomerINNERJOINorder_list;ONCustomer.khh=Order_list.khh;ORDERBYCustomer.khh;INTOTABLEresults14_2.dbf查询运行结果:〔3〕查询所有订购单的订单号、订购日期、和总金额,按订单号升序排,将查询结果存储到表results14_3中。使用设计器:添加表:order_list、order_detail“字段〞选项卡:ddh、dgrq、qjh、qjm、SUM(dj*sl)as总金额“联接〞选项卡:Innerjoinorder_list.ddh=order_detail.ddh“排序依据〞选项卡:ddh“分组依据〞选项卡:ddh“查询去向〞:表“results14_3〞使用命令:SELECTOrder_list.ddh,dgrq,SUM(dj*sl)as总金额;FROMorder_listINNERJOINorder_detailONOrder_list.ddh=Order_detail.ddh;GROUPBYOrder_list.ddh;ORDERBYOrder_list.ddh;INTOTABLEresults14_3.dbf查询运行结果:〔4〕按总金额降序排列出所有客户的客户号、客户名及其订单号和总金额,将查询结果存到表results14_4中。使用设计器:添加表:customer、order_list、order_detail“字段〞选项卡:khh、khm、ddh、SUM(dj*sl)as总金额“联接〞选项卡:innerjoincustomer.khh=order_list.khhInnerjoinorder_list.ddh=order_detail.ddh“排序依据〞选项卡:SUM(dj*sl)as总金额降序“分组依据〞选项卡:ddh“查询去向〞:表“results14_4〞使用命令SELECTCustomer.khh,khm,Order_list.ddh,SUM(dj*sl)as总金额; FROMcustomerINNERJOINorder_listINNERJOINorder_detail;ONOrder_list.ddh=Order_detail.ddh;ONCustomer.khh=Order_list.khh;GROUPBYOrder_list.ddh;ORDERBY4DESC;INTOTABLE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论