1.实验目的
掌握创建选择查询的方法。
2.实验内容
(1)利用“查询向导”创建一个查询,查找各专业所属班级,统计各班人数。要求显示“专业编号”、“专业名称”、“班级名称”和“学生人数”。将查询命名为“查询1-1”。
(2)利用“查找重复项查询向导”,在学生表中查找姓名相同的学生的信息,将查询命名为“查询1-2”。
(3)利用“查找不匹配项查询向导”,查询出没有排课的班级信息。将查询命名为“查询1-3”。
(4)查询没有建立负责人信息的学院,列出学院编号和学院名称。将查询命名为“查询1-4”。
(5)查询信息工程学院10级的学生信息,列出学号、姓名、性别、出生日期和学院名称。将查询命名为“查询1-5”。
(6)查询学生的平均成绩在80分以上(含80分)的学生信息,并按成绩的降序排列。列出学号、姓名和平均分(保留1位小数)。将查询命名为“查询1-6”。
(7)查询最早参加工作和最晚参加工作的教师之间的工龄差。将查询命名为“查询1-7”。
(8)统计各门课程中不及格的学生人数。列出课程编号、课程名称和不及格人数。将查询命名为“查询1-8”。
3.思路分析
(1)略。
(2)略。
(3)在建立了一对多关系的表中,经常存在“多方”表中无记录与“一”方表中记录匹配的情况。本题“班级”表与“授课”表以匹配字段“班级编号”建立了“一对多”的关系,根据查询要求,需要在“班级”表中查找到,没有在“授课”表中出现的“班级编号”及相关信息。
(4)本题要查询的是“学院”表中“负责人”字段为空的那些记录。
(5)本题的显示字段是“学生”表中的信息,条件字段是“学院”表中的信息,这两张表是通过“班级”表和“专业”表建立的关系,所以要选择4个表作为数据来源。
(6)本题需要进行汇总计算,先将“学号”和“姓名”进行分组,再求每名学生的成绩平均值。小数位数的设定需要通过修改字段的属性值来完成。
(7)本题通过在查询中添加计算表达式,完成工龄差的查询。
(8)本题统计人数,需要按课程分组后,统计满足条件的学生记录数。一般按“学号”字段进行统计,因为“学号”字段为主键,不允许为空。
4.操作提示
做查询实验时,请将主教材《Access数据库基础及应用教程第3版》(ISBN978-7-111-44703-0)附赠光盘中的“教学管理”数据库复制到计算机中使用。打开数据库后,单击安全警告中的“启用内容”,选择用户名,登录时无需口令。
(1)创建选择查询“查询1-1”。
1)打开“教学管理”数据库,单击“创建”选项卡下“查询”选项组中的“查询向导”按钮,选择“简单查询向导”。
2)按查询要求,从“专业”表中选择“专业编号”和“专业名称”;从“班级”表中选择“班级名称”;从“学生”表中选择“学号”作为统计班级人数的字段,如图4-1所示。
3)确定采用明细还是汇总,这里选择“汇总”,如图4-2所示。单击“汇总选项”按钮,在弹出的“汇总选项”对话框中,选中“统计学生中的记录数”复选框,如图4-3所示。
图4-1 简单查询向导字段选择对话框
图4-2 简单查询向导选择汇总对话框
4)为查询设定标题“查询1-1”,查询结果如图4-4所示。
图4-3 选择汇总方式对话框
图4-4 “查询1-1”查询结果
5)切换到“设计视图”,完善查询,将第4列设置为不可见,将“学生之计数”改为“学生人数”,如图4-5所示。单击“运行”,查询结果如图4-6所示。
图4-5 “查询1-1”设计视图
图4-6 “查询1-1”查询结果
(2)创建选择查询“查询1-2”。
1)单击“查询向导”按钮,选择“查找重复项查询向导”,选择“学生”表为数据源。
2)将“姓名”设置为重复值字段,将其他字段全部选为查询字段。
3)为查询设定标题“查询1-2”,查看查询结果,如图4-7所示。
(3)创建选择查询“查询1-3”。
1)单击“查询向导”按钮,选择“查找不匹配项查询向导”。
2)先将“班级”表作为包含查询记录的数据源。再将“授课”表作为查询是否有相关记录的数据源。
图4-7 “查询1-2”查询结果
3)匹配字段为“班级编号”,查询结果中,显示全部字段。
4)为查询设定标题“查询1-3”,查看查询结果,部分内容如图4-8所示。
(4)创建选择查询“查询1-4”。
1)单击“创建”选项卡下“查询”选项组中的“查询设计”按钮,打开查询设计界面。(www.xing528.com)
2)在“显示表”对话框中,选择“学院”表作为数据来源。
图4-8 “查询1-3”查询结果
3)将要显示字段和条件字段添加到“QBE网格”中的字段行。
4)设置查询条件,在“负责人”字段的“条件”行输入“IsNull”,如图4-9所示。
5)保存查询为“查询1-4”。运行查询,结果如图4-10所示。
图4-9 “查询1-4”设计视图
图4-10 “查询1-4”查询结果
(5)创建选择查询“查询1-5”。
1)在查询“设计视图”下,选择“学生”表、“班级”表、“专业”表和“学院”表作为数据来源。
2)将相关字段“学号”、“姓名”、“性别”、“出生日期”和“学院名称”添加到“字段”行。
3)在“学号”字段的“条件”行输入Like“2010∗”,表示查找学号以2010开头的学生。
提示:也可以选择添加“班级”表中的“入学年份”字段,在“条件”行输入“2010”。
4)在“学院名称”字段的条件行输入“信息工程学院”,如图4-11所示。
图4-11 “查询1-5”设计视图
5)保存查询为“查询1-5”。运行查询,结果中的部分内容如图4-12所示。
(6)创建选择查询“查询1-6”。
1)在查询“设计视图”下,选择“学生”和“成绩”表作为数据来源。
2)添加相关字段“学号”、“姓名”和“分数”。
3)单击“设计”选项卡“显示/隐藏”选项组的“汇总”按钮,在“QBE网格”中将出现“总计”栏。“学号”、“姓名”选择分组,“分数”选择求平均值。
图4-12 “查询1-5”查询结果
4)将“分数”字段名修改为“平均分:分数”,按降序排列,设置条件。
5)选择“平均分”字段,单击“显示/隐藏”选项组的“属性表”,在常规选项卡下设置“格式”为“固定”,“小数位数”为“1”。设计如图4-13所示。
图4-13 “查询1-6”设计视图
6)保存查询为“查询1-6”。运行查询,查看结果,部分内容如图4-14所示。
(7)创建选择查询“查询1-7”。
1)在查询“设计视图”下,选择“教师”表作为数据来源。
2)单击“设计”选项卡“查询设置”选项组中的“生成器”按钮,弹出“表达式生成器”对话框。
图4-14 “查询1-6”查询结果
3)在对话框中输入“工龄差:Year(Max([参加工作时间]))-Year(Min([参加工作时间]))”,如图4-15所示,单击“确定”按钮。
4)将查询命名为“查询1-7”。运行查询,查看结果,如图4-16所示。
图4-15 表达式生成器对话框
图4-16 “查询1-7”查询结果
(8)创建查询“查询1-8”。
1)在查询“设计视图”下,选择“课程”表和“成绩”表作为数据来源。
2)添加相关字段,选择汇总。
3)设置各字段的汇总类型和选择条件。
4)将“学号”字段名修改为“不及格人数:学号”。设计如图4-17所示。
5)保存查询为“查询1-8”。运行查询,查看结果如图4-18所示。
图4-17 “查询1-8”设计视图
图4-18 “查询1-8”查询结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。