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

下载本文档

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

文档简介

1、实验五实验目的: 掌握数据库表之间的永久关联及参照完整性的设置;掌握使用表设计器设计查询文件;掌握使用 SELECT 语句设计查询。实验内容(按顺序做,第3 题中的单号题写到实验报告中。注意将所有题存到自己的盘上)设置自己的文件夹为默认文件夹。打开“学生管理”项目。创建数据库表之间的永久关联及设置参照完整性。(1)打开“学生-课程”数据库设计器,用鼠标左键拖动学生表中的主索引xh到选课表的普通 索引xh (注意这两个索引都应是按学号字段进行排序的索引),两个表之间出现一条连线,该连线即 为两表间按学号相等的一个的永久关联。(2)按上面同样的方法创建课程表和选课表之间的按课程号相等的永久关联。(

2、 3)设置如下参照完整性: 使用“数据库”菜单中的“编辑参照完整性”或右单击永久关系连线选“编辑参照完整性”, 打开“参照完整性生成器”要求更新学生表中的某一学号时选课表中的相同学号也相应更新。 (提示:将学生与选课间的“更新规则”设为“级联”)要求删除课程表中的某门课时选课表中该课的有关记录也相应删除。(提示:将课程与选课间的“删除规则”设为“级联”)要求在选课表中插入一条学生的选课记录时,如果学生表中没有该学生或课程表中没有 该课则禁止插入。(提示:将学生与选课间的“插入规则”设为“限制”) (4)测试(3)中的设置,理解参照完整性的含义。在项目中设计如下查询,单号题用select命令(写

3、到程序中),双号题用查询设计器: 注意:查询前先打开“学生-课程”数据库,并且设为当前库(1)创建程序文件Q1,用select命令查询“计算机”系的学生的学号、姓名、和出生日期, 结果按学号升序排。 运行程序查看运行结果。使用设计器设计:添加表:学生表“字段”选项卡:学号、姓名、出生日期 “筛选”选项卡:所在系=计算机 “排序”选项卡:学号升序使用命令:SELECT 学号,姓名,出生日期;FROM 学生;WHERE 所在系 = 计算机;ORDER BY 学号查询结果如下:(2)创建查询文件Q2,查询“计算机”系的学生的姓名、性别、年龄,结果按年龄升序排。 行查询文件查看运行结果。使用设计器设计

4、: 添加表:学生表“字段”选项卡:姓名、性别、YEAR(DATE()-YEAR(学生出生日期)AS年龄 “筛选”选项卡:所在系=计算机“排序依据”选项卡:YEAR(DATE()-YEAR(学生出生日期)AS年龄使用命令:SELECT姓名,性别,YEAR(DATE()-YEAR(学生.出生日期)AS年龄; FROM 学生;ORDER BY 3查询结果如下:園查询2结吴1 口 H回亠姓名性别年龄EI1梁蔑卑17王华24吴圆女24钱运24马文勇24张明24李啸禺24王红红女25刘梅女25周雷女25宋虎勇25盘磊26孙俪女26IZI创建程序文件Q3,用select命令查询都有哪些系,要求系不能重复。运

5、行程序查看运 行结果。使用设计器设计: 添加表:学生表 “字段”选项卡:所在系 “杂项”选项卡:选中“无重复记录”复选框使用命令:SELECT DISTINCT 所在系 FROM 学生 查询结果如下:创建查询文件Q4,查询选了 “001”号课的学生的姓名和成绩,结果按成绩降序排,结果 放到表“成绩 001 号课”表中。 运行查询文件,将存放查询结果的文件添加到项目的自由表中 浏览该自由表从而查看查询结果。使用设计器设计: 添加表:学生表、选课表“字段”选项卡:姓名、成绩“联接”选项卡:inner join学生.学号二选课.学号 “筛选”选项卡:课程号=001“排序依据”选项卡:成绩降序 “查询

6、去向”:表“成绩001号课” 使用命令:SELECT 姓名,成绩;FROM学生INNER JOIN选课ON学生.学号=选课.学号;WHERE 课程号 = 001;ORDER BY 成绩 DESCINTO TABLE 成绩 001 号课 查询结果如下:创建程序文件Q5,用select命令查询“计算机”系学生选了 “001”号课学生的姓名、成 绩,结果按成绩降序排。 运行程序查看运行结果。使用设计器设计: 添加表:学生表、选课表“字段”选项卡:姓名、成绩“联接”选项卡:inner join学生.学号二选课.学号 “筛选”选项卡:所在系=计算机 and 课程号=001 “排序依据”选项卡:成绩降序使

7、用命令:SELECT 姓名,成绩;FROM 学生 INNER JOIN 选课 ON 学生. 学号 = 选课. 学号;WHERE所在系=计算机 AND课程号=001;ORDER BY 成绩 DESC查询结果如下:查询5结果姓容成绩|亠王华83.0赵磊1丄更j!B创建查询文件Q6,查询成绩在80及80分以上的学生的姓名、课程名和成绩,输出时先按 课程名升序排,课程名一样的再按成绩降序排。 运行查询文件查看运行结果。使用设计器设计:添加表:学生表、选课表、课程表“字段”选项卡:姓名、课程名、成绩“联接”选项卡:inner join学生.学号二选课.学号inner join 课程.课程号=选课.课程号

8、“筛选”选项卡:成绩=80 “排序依据”选项卡:课程名升序、成绩降序使用命令:SELECT 姓名,课程名,成绩;FROM 学生 INNER JOIN 选课 INNER JOIN 课程;ON 课程. 课程号=选课. 课程号 ON 学生. 学号=选课. 学号;WHERE 成绩 = 80;ORDER BY 课程名,成绩 DESC查询结果如下:鏑箱果| = |回| 姓容 |课程名|成绩|1宋虎数据结枸88.0划梅數学91.0吴圆藪学84.0王华菇学83.0王红红撤机矗哩91.0宋虎演语95.0张明英语94.0马文英语90.0王华英语87. 0赵磊険语86.0王红红英语85.0钱运92.0吴區87.0周

9、ft86.0马文85.0孙俪82.0梁蔑81.0:Ld创建程序文件Q7,用select命令查询平均成绩大于等于80的学生的学号、姓名平均成绩。 运行程序查看运行结果。使用设计器设计:添加表:学生表、选课表“字段”选项卡:学号、姓名、AVG(选课成绩)AS平均成绩“联接”选项卡: inner join 学生. 学号=选课. 学号“分组依据”选项卡:学号“满足条件”(筛选组):平均成绩=80“排序依据”选项卡:学号升序使用命令:SELECT学生.学号,姓名,AVG(选课.成绩)AS平均成绩;FROM 学生INNER JOIN选课ON 学生.学号=选课.学号; GROUP BY 学生. 学号;HAV

10、ING 平均成绩=80查询结果如下:匡1查询7结果学号姓名平均咸绩CI|0101张明85.000102王红红81.670104主华82.67020282.330302So81.00030384.000304宋戌84.25(8)创建查询文件Q8,查询各科成绩的最高分。结果包括课程名和最高分两列。运行查询文 件查看运行结果。使用设计器设计: 添加表:课程表、选课表“字段”选项卡:课程名、MAX(选课成绩)AS最高分 “联接”选项卡: inner join 课程. 课程号=选课. 课程号 “分组依据”选项卡:课程名使用命令:SELECT课程名,MAX(选课.成绩)AS最高分;FROM课程INNER

11、JOIN选课ON课程.课程号=选课.课程号; GROUP BY 课程. 课程名查询结果如下:(9)创建程序文件Q9,用select命令查询选课人数多于10人的课程名和选课人数。 运行程 序查看运行结果。使用设计器设计: 添加表:课程表、选课表“字段”选项卡:课程名、COUNT(选课学号)AS选课人数 “联接”选项卡: inner join 课程. 课程号=选课. 课程号 “分组依据”选项卡:课程名“满足条件”(筛选组):选课人数=10 使用命令:SELECT选课.课程名,COUNT(选课.学号)AS选课人数;FROM 课程INNER JOIN选课ON 课程.课程号=选课.课程号; GROUP

12、BY 选课. 课程名;HAVING 选课人数=10查询结果如下:匡1查询g结果回斗1课程名选课人数ACI1数学10英语12政治12rBJ(10)创建查询文件Q10,查询数学成绩前5名的学生的姓名和数学成绩。 运行查询文件查看 运行结果。使用设计器设计:添加表:学生表、选课表、课程表 “字段”选项卡:姓名、成绩“联接”选项卡: inner join 学生. 学号=选课. 学号 inner join 课程. 课程号=选课. 课程号“筛选”选项卡:课程名=数学“排序依据”选项卡:成绩降序“杂项”:不选“全部”复选框,“记录个数”改成5 使用命令:SELECT TOP 5 姓名,成绩;FROM 学生

13、INNER JOIN 选课 INNER JOIN 课程 ;ON 课程. 课程号 = 选课. 课程号 ON 学生. 学号 = 选课 .学号 ; WHERE 课程名 = 数学 ;ORDER BY 成绩 DESC查询结果如下:4. 打开“客户管理”项目,打开“订货管理”数据库,在该项目中使用查询设计器设计如下查询: 习题 13(271页)第三题的1、2、3、4、5 题。注意:查询前先打开“订货管理”数据库并设为当前库。(1)查询客户名为“三益贸易公司”的订购单明细,结果先按“订单号”升序排,同一订单的 再按“单价”降序排。结果存到 results14_1 中。使用设计器:添加表:customer、o

14、rder_list、order_detail“字段”选项卡: order_detail 表中的所有字段“联接”选项卡: inner join customer.khh=order_list.khhInner join order_list.ddh= order_detail.ddh“筛选”选项卡: customer.khm= 益贸易公司“排序依据”选项卡: ddh 升序、 dj 降序“分组依据”选项卡:“杂项”选项卡:“查询去向”表“resultsl4_l”使用命令:SELECT Order_detail.*;FROM customer INNER JOIN order_list INNER

15、JOIN order_detail ;ON Order_list.ddh = Order_detail.ddh ON Customer.khh = Order_list.khh;WHERE Customer.khm = 三益贸易公司;ORDER BY Order_detail.ddh, Order_detail.dj DESC;INTO TABLE results14_1.dbf查询结果:匡1 R&sultsl4_l匸 回 3DdhQhQjmR-01CD11013D显帀卡500.0030R-01CF1001CFU F4 1.4G0.0000R-03CFl 005CFU F4 1.5G1400.

16、000R-03CP1001CPU F4 1.4G1090.0050R-03CS49U声卡350.0030R-03CE0032E即询萌280.0010R-04CM0256内存350.0040R-04CE0032E蛊丽萌290.0050R-12CFl 005CFU F4 1.5G1390.0020R-12CM0256内存330.0040R-12CE0032275.00200R-32CF1001CFU F4 1.4G1030.0050R-44CFl 005CFU F4 1.5G1300.002R-44CS49U声卡385.0030R-44CE0032296.002i?i?iiaj查询目前有订购单的客

17、户信息,即有对应的order_list记录的cus tomer表中的记录,同 时要求按 khh 升序排,将结果存到 results14_2 中。使用设计器:添加表:customer、order_list “字段”选项卡:customer表中的所有字段 “联接”选项卡: inner join customer.khh=order_list.khh “排序依据”选项卡: customer.khh“杂项”选项卡:选中复选框“无重复记录” “查询去向”:表 “resultsl4_2”使用命令SELECT DISTINCT Customer.*;FROM customer INNER JOIN orde

18、r_list ; ON Customer.khh = Order_list.khh;ORDER BY Customer.khh;INTO TABLE results14_2.dbf查询运行结果:查询所有订购单的订单号、订购日期、和总金额,按订单号升序排,将查询结果存储到表 results14_3 中。使用设计器:添加表: order_list、order_detail“字段”选项卡:ddh、dgrq、qjh、qjm、SUM(dj*sl) as 总金额“联接”选项卡: Inner join order_list.ddh= order_detail.ddh“排序依据”选项卡: ddh“分组依据”选

19、项卡: ddh“查询去向”:表 “resultsl4_3”使用命令:SELECT Order_list.ddh, dgrq, SUM(dj* sl) as 总金额;FROM order_list INNER JOIN order_detail ON Order_list.ddh =Order_detail.ddh;GROUP BY Order_list.ddh;ORDER BY Order_list.ddh;INTO TABLE results14_3.dbf查询运行结果:E匡1 Resultsl4_3| Ddh| Dgrq |总金额|0R-01C2001-10-10 |3600.00|0R-

20、02B2002-02-13 |3300.00|0R-03C2002-01-13 |10700.00|0R-04C|2002-02-12(2850.00OR-UB2001-05-13 |3120.00|0R-12C2001-10-10 !9600.00|0R-13B2001-05-05 |1095.00|0R-21A12002-03-11 |2130.000R-22A2001-10-27 |1600.00|0R-23B2001-07-08 |12445.00j0R-31B2002-02-102640.00 I0R-32C12001-08-09 |5150.00j0R-33A2001-09-10

21、|3020.00|0R-37B2002-03-25 |600.00j0R-41A2002-04-01 j8200.00|0R-44C12001-12-10 |4347.00|1-I1j按总金额降序排列出所有客户的客户号、客户名及其订单号和总金额,将查询结果存到表 results14_4 中。使用设计器:添加表:customer、order_list、order_detail“字段”选项卡: khh、 khm、 ddh、 SUM(dj*sl) as 总金额“联接”选项卡: inner join customer.khh=order_list.khhInner join order_list.dd

22、h= order_detail.ddh“排序依据”选项卡: SUM(dj*sl) as 总金额 降序“分组依据”选项卡: ddh“查询去向”表“resultsl4_4”使用命令SELECT Customer.khh, khm, Order_list.ddh, SUM(dj*sl) as 总金额;FROM customer INNER JOIN order_list INNER JOIN order_detail ;ON Order_list.ddh = Order_detail.ddh ;ON Customer.khh = Order_list.khh;GROUP BY Order_list.

23、ddh;ORDER BY 4 DESC;INTO TABLE results14_4.dbf查询运行结果:圉 Resultsl4_4| Khh |跖| Ddh | 总金额 | 旳B21001爱心生物工程处司0R-23B12445.00C10001二益贸易总司0R-03C10700.00C10001二益贸易处司0R-12C9600.00AD01120R-41A8200.00C10001二益贸易总司0R-32C5150.00C10001三益贸易处司0R-44C4347.00C10001二益贸易总司0R-01C3600.00B20001锤侍高科技重团0R-02B3300.00B210010R-11B

24、3120.00AD01120R-33A3020.00C10001二益贸易总司0R-04C2850.00B200010R-31B2640.00AD0112西环郑接爱5公旨0R-21A2130.00A001120R-22A1600.00B210010R-13B1095.00B20001毎蒔高禅融s囱0R-37B600.00FT1工对表order_detail建立查询,把“订单号”的尾部字母相同且订货相同(即“器件号”相 同)的订单合并成一张订单,新的“订单号”取原来的尾部字母“,单价”取最低价,“数量”取合计, 查询结果先按新的“订单号”升序排,再按“器件号”升序排,将查询结果存到表resultsl4_5中。使用设计

温馨提示

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

评论

0/150

提交评论