大学计算机课程实验7(经管类)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验7 数据查询
一、实验目的和要求:
(1)理解和掌握在Access 2007 平台上进行数据查询的概念和类型;
(2)掌握创建选择查询的方法;
(3)掌握查询条件的设置及在查询中的计算;
(4)掌握基本的SQL中select语句的使用。
二、预备知识
查询是Access 2007提供的对象之一。通过查询,用户可以在一个或者多个数据表中查找和检索到满足条件的数据。使用查询可以回答有关数据的特定问题,而这些问题通过直接查看表数据很难解决或者不够直观。用户可以使用查询筛选数据、执行数据计算和汇总数据。
查询主要包括以下四个方面的功能:
(1)检索数据。
(2)分析和计算。查询不仅可以找到满足条件的记录,而且可以在建立查询的过程中进行各种统计计算、
(3)编辑记录。查询可批量地更新或删除记录,也可生成新数据表。
(4)为窗体、报表提供数据源。
本实验仅涉及其中的检索数据、分析和计算功能,即选择查询。
选择查询功能是根据用户所指定的查询条件,从一个或多个数据表中获取数据并显示结果,可对记录进行分组汇总(如求总计、计数、平均值等)。选择查询结果的形式是一个逻辑上的二维表,表中没有实际数据。
如何设置查询条件是创建选择查询的关键。而查询条件的设置是通过输入条
件表达式来确定的。
创建查询主要有“使用向导”创建、使用“设计视图”创建及使用SQL语句创建等三种方法。对于简单的查询,“使用向导”比较方便。在“设计视图”中创建的方法为基本方法,适合于任何有条件的查询。SQL查询提供了Select 语句用于数据查询,它是功能最强也最为复杂的SQL语句,它不但可以建立简单查询,还可以实现条件查询、分组统计、多表联接查询等。
查询“设计视图”分为上下两部分,上半部分为数据源窗口,用于显示查询所涉及的数据源,可以是数据表或查询,并且显示这些表之间的关系;下半部分是查询定义窗口,也称为QBE网格。
SQL(Structured Query Language)结构化查询语言是一种非过程化查询语言,它的功能包括数据定义、数据操纵、数据查询和数据控制四个部分。其中数据库的查询功能是数据库的核心功能,SQL使用Select语句进行数据库的查询。
Select 语句的一般格式如下:
Select [All|Distinct]<目标列表达式> from <表名或视图名>…[Where<条件表达式>] [Group by<列名1>[Having<条件表达式>]] [Order By <列名2>];其中:
Select 子句:指定要显示的属性列;
From 子句:指定查询对象(基本表或视图);
Where 子句:指定查询条件;
Group By 子句:对查询结果按指定列值分组,该属性列值相等的记录为一组;Having 子句:对汇总结果进行二次筛选;
Order By 子句:对查询结果表按指定列值的升序或降序排序。
三、实验内容和步骤:
(一)使用“设计视图”创建选择查询
打开“学生成绩管理”数据库完成以下查询操作:
1. 在“设计视图”中创建一个选择查询,从“学生”表中查找所有男同学的记录,要求在查询中显示“学号”、“姓名”、“性别”和“籍贯”字段,查询名称为“男生查询”。
①选择“创建”选项卡,单击“其他”选项组中的“查询设计”按钮。
②在“显示表”对话框中,双击“学生”表,将该表添加到查询中,然后单击“关闭”按钮。
③添加查询所需的字段。根据题目要显示的查询结果和要设置的查询条件确定需要添加的字段。在查询设计视图窗口上方窗格中,将“学号”、“姓名”、“性别”和“籍贯”字段分别拖到QBE网格的字段行。
④设置查询条件。在QBE网格的“性别”列所对应的“条件”行输入:“男”。
⑤选择“视图”列表中的“数据表视图”或单击“结果”选项组中“运行”命令,以查看选择查询的运行结果。
2. 在“学生表”中查询1994~1995年出生的女生的学号、姓名和出生日期,并将查询结果按“出生日期”字段降序排序显示,查询名称为“94-95女生查询”。提示:设置查询条件时,可在“出生日期”所对应的条件行中输入:year([出生日期]) Between 1994 and 1995.
3. 在“设计视图”中创建一个选择查询,从“学生”表中查找姓李或陈的男同学的记录,查询名称为“姓李或陈的男生查询”。
提示:设置查询条件时,可在“姓名”列对应的“条件”行输入:Like “[李陈]*”。
4. 在查询中计算。在设计选择查询时,除了进行条件设置外,还可以进行计算。(1)在“学生表”中查询学生的总人数,查询结果保存为“学生总人数”。(2)根据“课程表”和“成绩表”查询各门课程的平均分,在查询结果中显示课程名称和平均分,要求平均分保留一位小数,查询结果保存为“课程平均分”。(3)根据“学生表”、和“成绩表”查询每个学生的平均分,在查询结果中显示
姓名、学号、平均分,要求平均分保留一位小数,查询结果保存为“学生平均分”。关键点提示:(2)为在查询中进行分组统计计算。在“设计”上下文选项卡下“显示/隐藏”组的“汇总”按钮,在QBE网格中将“课程名称”的“总计”行设置为“Group By”选项,用于分组;将“成绩”列的“总计”行设置为“平均值”选项。(3)的操作步骤和(2)相同。
(二)使用SQL创建查询
打开“学生成绩管理”数据库,使用Select语句完成以下查询操作(要求把其对应的Select语句写在每小题下面的空白出):
1、查询学生的基本信息(包括学号、姓名、籍贯及出生日期)
2、查询全体学生的姓名及其年龄。
3、查询所有年龄在19岁的学生学号、姓名及其年龄。
4、查询选修了“大学计算机基础”的学生人数和平均成绩。
5、查询选修了课程编号为“006201”和“350164”两门课程的学生姓名、学号、成绩。
四、综合使用
打开“JY_mobile.accdb”数据库文件,根据实验6所建立的表中数据,使用SQL语句创建如下选择查询(要求把其对应的Select语句写在每小题下面的空白出):
1、分别统计6月份“三星”和“苹果”手机的销售数量;
2、查询统计各手机型号的全部销售数量;
3、查询统计各手机型号的全部入库数量;
4、查询统计各手机型号的全部入库数量、全部销售数量和库存数;
5、查询“王英雄”员工在2013年的销售业绩情况(要求有销售手机的型号、
数量、销售总额等数据项)。