vfp 查询设计器题目及答案.docx
- 文档编号:29399143
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:16
- 大小:461.59KB
vfp 查询设计器题目及答案.docx
《vfp 查询设计器题目及答案.docx》由会员分享,可在线阅读,更多相关《vfp 查询设计器题目及答案.docx(16页珍藏版)》请在冰豆网上搜索。
vfp查询设计器题目及答案
实验五
实验目的:
掌握数据库表之间的永久关联及参照完整性的设置;掌握使用表设计器设计查询文件;掌握使用SELECT语句设计查询。
实验内容(按顺序做,第3题中的单号题写到实验报告中。
注意将所有题存到自己的盘上)
1.设置自己的文件夹为默认文件夹。
打开“学生管理”项目。
2.创建数据库表之间的永久关联及设置参照完整性。
(1)打开“学生-课程”数据库设计器,用鼠标左键拖动学生表中的主索引xh到选课表的普通索引xh(注意这两个索引都应是按学号字段进行排序的索引),两个表之间出现一条连线,该连线即为两表间按学号相等的一个的永久关联。
(2)按上面同样的方法创建课程表和选课表之间的按课程号相等的永久关联。
(3)设置如下参照完整性:
使用“数据库”菜单中的“编辑参照完整性”或右单击永久关系连线选“编辑参照完整性”,打开“参照完整性生成器”
1要求更新学生表中的某一学号时选课表中的相同学号也相应更新。
(提示:
将学生与选课间的“更新规则”设为“级联”)
2要求删除课程表中的某门课时选课表中该课的有关记录也相应删除。
(提示:
将课程与选课间的“删除规则”设为“级联”)
③要求在选课表中插入一条学生的选课记录时,如果学生表中没有该学生或课程表中没有该课则禁止插入。
(提示:
将学生与选课间的“插入规则”设为“限制”)
(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成绩DESC
INTOTABLE成绩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,查询各科成绩的最高分。
结果包括课程名和最高分两列。
运行查询文件查看运行结果。
使用设计器设计:
添加表:
课程表、选课表
“字段”选项卡:
课程名、MAX(选课.成绩)AS最高分
“联接”选项卡:
innerjoin课程.课程号=选课.课程号
“分组依据”选项卡:
课程名
使用命令:
SELECT课程名,MAX(选课.成绩)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.khh
Innerjoinorder_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.khh
Innerjoinorder_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;
INTOTABLEresults14_4.dbf
查询运行结果:
(5)对表order_detail建立查询,把“订单号”的尾部字母相同且订货相同(即“器件号”相同)的订单合并成一张订单,新的“订单号”取原来的尾部字母,“单价”取最低价,“数量”取合计,查询结果先按新的“订单号”升序排,再按“器件号”升序排,将查询结果存到表results14_5中。
使用设计器:
添加表:
order_detail
“字段”选项卡:
RIGHTC(ddh,1)as订单号、qjh、qjm、MIN(dj)as最低单价、
SUM(sl)as总数量
“排序依据”选项卡:
RIGHTC(ddh,1)as订单号升序、qjh升序
“分组依据”选项卡:
RIGHTC(ddh,1)as订单号、qjh
“查询去向”:
表“results14_5”
使用命令
SELECTRIGHTC(ddh,1)as订单号,Order_detail.qjh,Order_detail.qjm,;
MIN(dj)as最低单价,SUM(sl)as总数量;
FROMorder_detail;
GROUPBY1,qjh;
ORDERBY1,qjh;
INTOTABLEresults14_5.dbf
查询运行结果:
5.打开3、4题中查询文件的查询设计器,使用“查询”菜单中的“查看SQL”查看一下每个查询所生成的select查询语句,灵活掌握select查询语句的使用。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vfp 查询设计器题目及答案 查询 设计 题目 答案