当前位置:首页 >> 其它课程 >>

第4章 查询的创建与应用


《Access数据库应用基础》— 第4章 查询的创建与应用

第4章 查询的创建与应用
? ? ? ? ? 表间关系的概念,学会定义表间关系 查询的概念及作用 使用查询向导创建各种查询 查询设计视图的使用方法 在查询设计网格中添加字段、设置查询条件的各 种操作方法 ? 计算查询、参数查询、交叉表查询的创建方法 ? 操作查询的设计、创建方法


《Access数据库应用基础》— 第4章 查询的创建与应用

任务1 定义“学生成绩管理”数据库的表间的关系
任务描述与分析

在“学生成绩管理”数据库中,不同表内的数据并不是孤立的,而是
有着各种各样的关联,如:教师需要承担课程教学任务;不同专业、不 同班级需要开设各种课程;每个学生又同时学习多门课程。这样,数据

之间需要一种“关系”联结起来,形成一种“有用的”数据集合。这种
“关系”的建立是基于不同的字段来联结的。“学生”表和“班级”表 通过“班级编号”建立“关系”,可以获得学生所在班级的详细信息; “教师”表、“课程”表基于“课程安排”表中的“教师编号”、“课 程编号”字段联结起来,形成了一个新的数据集合:教师任课信息;“ 学生”表、“课程”表、基于“成绩”表中的“学号”、“课程编号” 字段建立三个表的关系,可以获得每个学生、每门课程的考试成绩。

《Access数据库应用基础》— 第4章 查询的创建与应用

建立关系
”按钮,弹出“关系”设置对话框,同时打开“显示表”对话框,框内 显示数据库中所有的表。
(2)将数据库中的表“添加”到关系窗口中 (3)用鼠标选中“教师”表的“教师编号”字段,将其拖至“课程

(1)打开“学生成绩管理”数据库,单击主窗口工具栏的“关系

安排”表的“教师编号”字段上,弹出“编辑关系”对话框,选中“实
施参照完整性”。 (4)单击“创建”按钮,这时在 “关系”窗口中可以看出:在“教

师”表和“课程安排”表之间出现一条连线,并在“教师”表的一方显
示“1”,在“课程安排”表的一方显示“∞” 。 (5)用同样的方法, 建立“班级”表与“课程安排”表、“课程” 表与“课程安排”表、“课程”表与“成绩”表、“学生”表与“成绩 ”表之间表间关系 。

《Access数据库应用基础》— 第4章 查询的创建与应用

编辑、删除关系 (1)打开数据库窗口,在工具栏中单击“关系”按钮, 此时打开“关系”窗口,即可查看表间关系。 (2)右键单击表示表间关系的连线,在弹出的快捷菜单

中选“编辑关系”选项,弹出“编辑关系”对话框。
(3)在“编辑关系”对话框中的列表中选择要建立关系 的表和字段,单击“确定”按钮,即可编辑、修改表间关系 。 (4)在“关系”窗口,右键单击表示表间关系的连线, 在弹出的快捷菜单中选“删除”选项,即可删除表间关系。

《Access数据库应用基础》— 第4章 查询的创建与应用

相关知识与技能
1.关系的概念 关系是在两个表的字段之间所建立的联系。通过关系,使数据库表间的数据合 并起来,形成“有用”的数据,以便于以后应用查询、窗体、报表。 2.关系类型

表间关系有三种类型:一对一关系、一对多关系、多对多关系。
(1)一对一关系:若A表中的每一条记录只能与B表中的一条记录相匹配,同 时B表中的每一条记录也只能与A表中的一条记录相匹配,则称A表与B表为一对一 关系。这种关系类型不常用,因为大多数与此相关的信息都在一个表中。 (2)一对多关系:若A表中的一条记录能与B表中的多条记录相匹配,但B表中 的一条记录仅与A表中的一条记录相匹配,则称A表与B表为一对多关系。其中“ 一”方的表称为父表,“多”方的表称为子表。

(3)多对多关系:若A表中的一条记录能与B表中的多条记录相匹配,同时B表
中的一条记录也能与A表中的多条记录相匹配,则称A表与B表为多对多关系。

《Access数据库应用基础》— 第4章 查询的创建与应用

相关知识与技能
3.参照完整性

若已为“教师”表和“课程安排”表建立了一对多的表间关系,并实施了参照完整性。
则如果在“课程安排”表的“教师编号”字段中输入的数据与“教师”表中得教师编号不匹 配时,就会弹出如图4-7所示出错提示信息。 反之,如果在“课程安排”表中有某教师的编号,就不能删除“教师”表中该教师的基 本信息。 由于设置参照完整性能确保相关表中各记录之间关系的有效性,并且确保不会意外删除 或更改相关的数据,所以在建立表间关系时,一般应同时“实施参照完整性”。 对于实施参照完整性的关系,还可以选择是否级联更新相关字段和级联删除相关记录。 如果选择了“级联更新相关字段”,则更改主表的主键值时,自动更新相关表中的对应数值 :否则仅更新主表中与子表无关的主键的值。 如果选择了“级联删除相关记录”,则删除主表中的记录时,自动删除相关表中的有关 记录;否则,仅删除主表中与子表记录无关的记录。

任务2 利用查询向导查询“教师”信息
任务描述与分析

《Access数据库应用基础》— 第4章 查询的创建与应用

数据库的表对象中保存着大量的数据,不同类别的数据保存在不同的表中。 我们在实际工作中,需要从这些表中检索出所关心的信息。 查询就是以数据库中的数据作为数据源,根据给定的条件,从指定数据库的

表或查询中检索出用户要求的记录数据,形成一个新的数据集合。“查询”的字
段可以来自数据库中一个表,也可以来自多个互相之间有“关系”的表,这些字 段组合成一个新的数据表视图。当改变表中的数据时,查询中的数据也会相应的 发生改变,因此我们通常称查询结果为“动态记录集”。使用查询不仅可以以多

种方式对表中数据进行查看,还可以使用查询对数据进行计算、排序和筛选等操
作。 本任务查询的教师信息来自于“学生成绩管理”数据库中的“教师”表以及 相关表,下面利用Access2003提供的查询向导分别检索不同的“教师”信息。

《Access数据库应用基础》— 第4章 查询的创建与应用

1.查询教师姓名、性别、学历、职称等基本信息
(1)打开“学生成绩管理”数据库,单击“查询”对象,再单击“
新建”按钮。打开“新建查询”对话框。 (2)在“新建查询”对话框中,单击“简单查询向导”选项,然后

单击“确定”。打开“简单查询向导”的第一个对话框。
(3)在对话框中“表/查询”列表中选择“教师”表,在“可用字段 ”列表框中分别双击“姓名”、“性别”、“学历”、“职称”等字段

,将其添加到“选定的字段”列表框中。设置完成后,单击“下一步”
按钮,打开 “简单查询向导”的第二个对话框。 (4) 输入查询标题“教师基本信息查询”,选择“打开查询查看信 息”,单击“完成”按钮。这时会以“数据表”的形式显示查询结果, 并将该查询自动保存在数据库中。

《Access数据库应用基础》— 第4章 查询的创建与应用

2.查询教师姓名、性别、所属专业及其他所任教课程
(1)在“学生成绩管理”数据库窗口中,选择“查询”对象,单击“新
建”按钮。 (2)选择“简单查询向导”选项,然后单击“确定”按钮。

(3)在“表/查询”列表中选择“教师”表,在“可用字段”列表框中
双击“教师编号”、“姓名”、“所属专业”字段;再在“表/查询 ”列表中选择“课程”表,双击“课程名称”、“类别”、“学时数

”等字段,这样就选择了两个表中的所需字段。单击“下一步”按钮
。 (4)在对话框中选择“明细(显示每个记录的每个字段)”,单击 “ 下一步”按钮,打开“简单查询向导”的第二个对话框。 (5)以后的操作与“教师基本信息查询”的操作相同,为该查询取名为 “教师任课查询”。

《Access数据库应用基础》— 第4章 查询的创建与应用

3.查询教师姓名、所任课程成绩总分

(1)在“学生成绩管理”数据库窗口中,单击“查询”对象,再单击“新建”按钮。
(2)选择“简单查询向导”选项,然后单击“确定”按钮,打开 “简单查询向导” 的第一个对话框,在对话框中的“表/查询”下拉列表中选择“表:教师”,字段为“教师 编号”、“姓名”,选择“表:课程”,字段为“课程名称”,选择“表:成绩”,字段

为“成绩”。
(3)设置完成后,单击“下一步”按钮,打开 “简单查询向导”的第二个对话框, 如图4-17所示。 (4)在对话框中,选择“汇总”选项,单击“汇总选项”按钮,打开“汇总选项”对

话框。
(5)在“汇总选项”对话框中选中“成绩”的汇总复选框。然后单击“确定”按钮, 返回 “简单查询向导”的第二个对话框。 (6)单击“下一步”按钮,打开“简单查询向导”最后一个对话框,输入查询标题“

教师任课成绩汇总查询”,单击“完成”按钮。

《Access数据库应用基础》— 第4章 查询的创建与应用

相关知识与技能
1.查询的类型
根据对数据源操作方式和操作结果的不同,Access2003中的查询可以分为五种类型:选择查询、参 数查询、交叉表查询、操作查询和SQL查询。 (1)选择查询:是最基本、最常用的查询方式。它是根据指定的查询条件,从一个或多个表获取 满足条件的数据,并且按指定顺序显示数据。选择查询还可以将记录进行分组,并计算总和、计数、平 均值及不同类型的总计。 (2)参数查询:是一种交互式的查询方式,它可以提示用户输入查询信息,然后根据用户输入的 查询条件来检索记录。若用参数查询的结果作为窗体、报表和数据访问页的数据源,还可以方便的显示 或打印出查询的信息。

(3)交叉表查询:是将来源于某个表中的字段进行分组,一组列在数据表的左侧,一组列在数据
表的上部,然后可以在数据表行与列的交叉处显示表中某个字段的各种计算值。 (4)操作查询:不仅可以进行查询,而且可以对该查询所基于的表中的多条记录进行添加、编辑 和删除等修改操作。 (5)SQL 查询:是使用 SQL 语句创建的查询。前面介绍的几种查询,系统在执行时自动将其转换 为SQL语句执行。用户也可以使用 “SQL”视图直接书写、查看和编辑 SQL 语句。有一些特定查询(如 联合查询、传递查询、数据定义查询、子查询)必须直接在“SQL”视图中创建 SQL 语句。关于SQL查 询将在第5章中详细介绍。

《Access数据库应用基础》— 第4章 查询的创建与应用
2.查询的视图 查询的视图有三种方式,分别是数据表视图、设计视图和SQL视图。 (1)查询的数据表视图 查询的数据表视图是以行和列的格式显示查询结果数据的窗口。 在数据库窗口选择查询对象,单击数据库窗口的“打开”工具按钮,则以数据表视图的形式打开当 前查询。

(2)查询的设计视图
查询的设计视图是用来设计查询的窗口。使用查询设计视图不仅可以创建新的查询,还可以对已存 在的查询进行修改和编辑。 在数据库窗口选择查询对象,单击数据库窗口的“设计”工具按钮,则以设计视图的方式打开当前 查询。 查询设计视图由上下两部分构成,上半部分是创建的查询所基于的全部表和查询,称为查询基表, 用户可以向其中添加或删除表和查询。具有关系的表之间带有连线,连线上的标记是两表之间的关系, 用户可添加、删除和编辑关系。 查询设计视图的下半部为查询设计窗口,称为“设计网格”。利用设计网格可以设置查询字段、来

源表、排序顺序和条件等。
(3)查询的SQL视图 SQL视图是一个用于显示当前查询的SQL语句窗口,用户也可以使用SQL视图建立一个SQL 特定查询 ,如联合查询、传递查询或数据定义查询,也可对当前的查询进行修改。 当查询以数据表视图或设计视图的方式打开后,选择“视图”菜单的“SQL视图”选项,则打开当 前查询的SQL视图,视图中显示着当前查询的SQL语句。

《Access数据库应用基础》— 第4章 查询的创建与应用

3.总计查询的计算类型 在总计查询时,可以使用以下两种计算类型: (1)对所有记录计算总计:查询结果是对所有记录的统计。最终的统计结果

只有一行。比如:统计“所有学生成绩之和”。
(2)对记录进行分组计算总计:对记录按某类别进行分组,查询结果是对每 一组中的记录的统计。比如统计“每位教师所任课程成绩之和”。 4.计算的汇总值 计算的汇总值可以是汇总、平均、计数、最小和最大,其含义是: (1)汇总:分别求取每组记录或所有记录的指定字段的总和。 (2)平均:分别求取每组记录或所有记录的指定字段的平均值。

(3)最小:分别求取每组记录或所有记录的指定字段的最小值。
(4)最大:分别求取每组记录或所有记录的指定字段的最大值。 (5)计数:求取每组记录或所有记录的记录条数。

任务3 利用设计视图查询“学生”信息
任务描述与分析

《Access数据库应用基础》— 第4章 查询的创建与应用

教师信息的查询是在查询向导的提示下一步步完成的,而 要更灵活的创建各种查询,则需要在查询设计视图中进行, 同时,利用“简单查询向导”建立的查询,也可以在设计视 图中修改。在查询设计视图中所能进行的操作主要包括:表 或查询的操作、字段的操作、设计网格的操作、条件和排序

顺序操作等。而表的操作分为添加表或查询、手工添加表之
间的连接、删除表或查询。下面利用“设计视图”来实现学 生及相关信息的查询,同时介绍如何对已创建的查询进行修

改。

《Access数据库应用基础》— 第4章 查询的创建与应用

1.利用设计视图查询学生基本信息
(1)打开“学生成绩管理”数据库,单击“查询”对象,再单击“新建”按钮。打开 “新建查询”对话框。 (2)在“新建查询”对话框中,单击“设计视图”选项,然后单击“确定”。打开“ 查询1 选择查询”视图,同时打开“显示表”对话框。 (3)在“显示表”对话框中,选中“学生”表,把“学生”表添加到设计网格上部的 表区域内,选中“班级”表,把“班级”表添加到设计网格上部的表区域内;关闭“显示 表”对话框。 (4) 在“学生”表中,双击“学号”,将“学号”字段添加到设计网络中;重复上 述步骤,将“学生”表中的“姓名”、“性别”、“出生日期”和“是否团员”,“班级 ”表中的“班级名称”都添加到设计网络中。 (5)单击工具栏上的“保存”按钮,打开“另存为”对话框,输入查询名称“学生基 本信息查询”,单击“确定”按钮。 (6)单击工具栏上的“运行”按钮,或选择“视图”菜单的“数据表视图”显示查询 结果。

《Access数据库应用基础》— 第4章 查询的创建与应用

2.创建学生成绩查询
(1)打开“学生成绩管理”数据库,单击“查询”对象,再单击“新建”按钮。打开
“新建查询”对话框。 (2)在“新建查询”对话框中,单击“设计视图”选项,然后单击“确定”。打开“ 查询1 选择查询”视图,同时打开“显示表”对话框。在“显示表”对话框中,分别将“

专业”表、“班级”表、“学生”表、“课程”表、“成绩”表添加到设计网格上部的表
区域内,关闭“显示表”对话框。 (3) 在“专业”表中,双击“专业名称”,将“专业名称”字段添加到设计网络中 。重复上述步骤,将“班级”表中中的“班级名称”字段、“学生”表中的“学号”和“

姓名”、“课程”表的“课程名称”、“成绩”表的“成绩”字段都添加到设计网络中。
(4)在设计网络的“专业名称”列的“排序”行的下拉列表中选择“升序”,“班级 名称”列的“排序”行的下拉列表中选择“升序”,“学号”列的“排序”行的下拉列表 中选择“升序”。

(5)在设计网格的“班级名称”列的“条件”行中输入:="06计算机1"。
(6)单击工具栏上的“保存”按钮,打开“另存为”对话框,输入查询名称“学生成 绩查询”,单击“确定”按钮, (7)单击工具栏上的“运行”按钮显示查询结果。

《Access数据库应用基础》— 第4章 查询的创建与应用

相关知识与技能
1.利用“设计视图”修改查询 不管是利用“查询向导”还是利用“设计视图”创建查询后,都可以对查询进行修改。操作方法为 :打开数据库,在“查询”对象列表中选中待修改的查询,单击工具条的“设计”按钮,即可以打开该 查询的“设计视图”进行修改。 2.在“设计视图”中为“学生基本信息查询”添加“专业”表 (1) 在“学生成绩管理”数据库窗口中选择“查询”对象,在对象栏中选择“学生基本信息查询 ”,然后单击“设计”按钮,打开“学生基本信息查询”查询的设计视图。

(2)在设计视图的上半部单击鼠标右键,在弹出的快捷菜单中选择“显示表”,打开 “显示表”
对话框。 (3)在“显示表”对话框的“表”选项卡中,双击“专业”表,可将选中的表添加到查询设计视 图中。 也可以选中“查询”选项卡后双击要添加的查询,将查询添加到查询设计视图中。 (4) 添加完成后,单击“关闭”按钮,关闭“显示表”对话框。 注 图中。 意

(1)在查询设计视图中创建一个新的查询时,通常需要将该查询所基于的表或查询添加到设计视

(2)在查询设计视图中修改查询时,也可用相同的方法将新的表或查询添加到查询设计视图的上
半部分。 (3)如果是多个表,必要时还应建立表(或查询)与表(或查询)之间的关系。

《Access数据库应用基础》— 第4章 查询的创建与应用

3.在设计视图中添加表之间的连接 在设计视图中添加表或查询时,如果所添加的表或查询之间已经建立了联系 ,则在添加表或查询的同时也同时自动添加连接,否则就应手工添加表之间的连 接。手工添加表之间的连接的方法为: 在查询设计视图中,从表或查询的字段列表中将一个字段拖到另一个表或查

询中的相等字段上(与在“关系”窗口中建立表间关系的操作一样)。
如果要删除两个表之间的连接,在两表之间的连线上单击鼠标,连线将变粗 ,然后再在连线上单击鼠标右键,在弹出菜单中选择“删除”命令即可。 4.从查询中删除表和查询 如果当前查询中的某个表或查询已不再需要,可以将其从查询中删除。操作 方法是:在查询设计视图的上部,右键单击要删除的表或查询,在弹出菜单中选 择“删除”命令。也可选定表或查询后按Delete键删除。 查询中的表或查询一旦从当前查询中被删除,则相应的设计网格的字段也将 从查询中删除,但是被删除的表或查询并不会从数据库删除,而只是当前查询中 不再包含该表或查询。

《Access数据库应用基础》— 第4章 查询的创建与应用

5.查询设计视图中字段的操作 对查询中字段的操作,如添加字段、移去字段、

更改字段、排序记录、显示和隐藏字段等,需要在
查询设计视图下半部的“设计网格”中进行。 (1)添加和删除字段 (2)插入和移动字段 (3) 更改字段显示标题 (4)改变设计网格的列宽 (5)显示或隐藏字段 (6)为查询添加条件和删除条件

《Access数据库应用基础》— 第4章 查询的创建与应用

6.运行、保存和删除查询 (1)运行查询 (2)保存查询 (3)删除查询

《Access数据库应用基础》— 第4章 查询的创建与应用

任务4 利用参数查询获得学生考试成绩
任务描述与分析

在前面介绍“学生成绩查询”中,其查询条件是 :班级名称=“06计算机1”,这个条件是固定的,

但在实际应用时常常希望能够灵活的修改查询条件
,如提示用户输入班级名称,则查询出该班级学生

成绩。在Access 2003中,参数查询可以满足这一要
求。参数查询在运行时可以显示一个对话框,提示 您输入指定的条件,然后依据条件生成查询结果。

《Access数据库应用基础》— 第4章 查询的创建与应用

方法与步骤
(1)打开“学生成绩管理”数据库,在查询对象列表中选中“学生
成绩查询”,单击“设计”按钮,在设计视图中打开该查询。 (2)打开其设计视图,在设计网格的“班级名称”字段的“条件”

单元格中,输入“=[请输入班级名称]” 。
(3)单击“文件”菜单,选择“另存为”菜单项,弹出“另存为” 对话框,如图4-37所示,将查询名称改为“班级学生成绩查询”,保存 类型为“查询”,单击“确定”按钮,将修改后的查询另存。 (4)单击工具栏上的“运行”按钮,运行该查询。这时弹出“输入 参数值”对话框,在其后的编辑框中输入班级名称:“计算机网络” 。 (5)单击“确定”按钮,这时在数据表视图中显示参数查询的结果 。

《Access数据库应用基础》— 第4章 查询的创建与应用

相关知识与技能
1.理解查询条件 在创建查询时,有时需要对查询记录中的某个或多个字段进行限制,这就需要将这些 限制条件添加到字段上,这样只有完全满足限制条件的那些记录才能显示出来。 一个字段可以有多条限制规则,每条规则之间可以用逻辑符号来连接。比如条件为: “成绩”字段小于等于100并且大于85,只要在对应“成绩”字段的条件单元格中输入 “<=100 and >85”就可以了。 在输入条件时要用一些特定的运算符、数据、字段名和函数,将这些运算符、数据、 函数以及字段名等组合在一起称为表达式。输入的条件称为条件表达式。 在查询中通常有两种情况需要书写表达式。 (1)用表达式表示一个查询条件。例如:[成绩]<60。 (2)查询中添加新的计算字段。例如:“周课时数:[学时数]/18”。该表达式的含

义是:[学时数]为计算字段,字段的标题为:周课时数。
每个表达式都有一个计算结果,这个结果称为表达式的返回值,表示查询条件的表达 式的返回值只有两种:True(真)或者False(假)。

《Access数据库应用基础》— 第4章 查询的创建与应用

2.了解表达式中的算术运算符

算术运算符只能对数值型数据进行运算。表4-1中列出了
可以在Access表达式中使用的算术运算符。
运算符 + - * / \ Mod ^ 描 述 例 子 12+23.5 45.6-30 45*68 23.6/12.55 5\2 27 Mod 12 5^3

两个操作数相加 两个操作数相减 两个操作数相乘 用一个操作数除以另一个操作数 用于两个整数的整除 返回整数相除时所得到的余数 指数运算

《Access数据库应用基础》— 第4章 查询的创建与应用

3.使用关系运算符表示单个条件 关系运算符也叫比较运算符,使用关系运算符可以构建关系表达式,表示单 个条件。 关系运算符用于比较两个操作数的值,并根据两个操作数和运算符之间的关 系返回一个逻辑值(True或者False)。表4-2列出了在Access中可以使用的比较运 算符。
运算符 < 描 述 小于 例 子 结 果 True

123<1000

<=
= >= > <>

小于等于
等于 大于等于 大于 不等于

15<=5
2=4 1234>=456 123>123 123<>456

True
False True False True

《Access数据库应用基础》— 第4章 查询的创建与应用

4.使用逻辑运算符表示多个条件
逻辑运算符通常用于将两个或者多个关系表达式连接起来,表示多个 条件,其结果也是一个逻辑值(True或False)。

运算符








True False True False False True

结 果

True And True And 逻辑与 True And False True Or False Or 逻辑或 False Or False Not True Not 逻辑非 Not False

《Access数据库应用基础》— 第4章 查询的创建与应用

5.使用其他运算符表示条件 除了上面所述的使用关系运算和逻辑运算来表示条件之外,还可以 使用Access提供的功能更强的运算符进行条件设置。表4-4列出了在

Access查询中使用的4个其他的运算符。
运算符 描 述 例 子

Is Like In

和Null一起使用,确定某值是Null还是Not Null

Is Null,Is Not Null

查找指定模式的字符串,可使用通配符*和? Like"jon*",Like"FILE???? " 确定某个字符串是否为某个值列表中的成 员 确定某个数字值或者日期值是否在小给定 的范围之内 In("CA","OR","WA")

Between

Between 1 And 5

《Access数据库应用基础》— 第4章 查询的创建与应用

6.使用常用函数
函数
Date Day Month Now Weekday Year









返回值
7/15/06 15 7 7/15/06 7 2006 5:10:10

返回当前的系统日期 返回1到31之间的一个整数 返回1到12的一个整数 返回机系统时钟的日期和时间值 以整数形式返回相应于某个日期为 星期几(星期天为1) 返回日期/时间值中的年份

Date Day(Date) Month(#15-Jul-98#) Now Weekday(#7/15/1998#) Year(#7/15/1998#)

LEN()
LEFT() MID() Int(表达式)

获得文本的字符数
获得文本左侧的指定字符个数的文 本 获得文本中指定起始位置开始的特 定数目字符的文本 得到不大于表达式的最大整数

LEN(“数据库技术”)
LEFT(“数据库技术”,3) MID(“数据库技术与应 用”,4,2) Int(2.4+3.5)

5
“数据库” “技术” 5

《Access数据库应用基础》— 第4章 查询的创建与应用

任务5 创建计算查询统计学生人数
任务描述与分析
在实际应用中,常常需要对查询的结果进

行统计和计算,所谓计算查询,就是在成组
的记录中完成一定计算的查询。下面创建查 询以统计各班学生人数。

《Access数据库应用基础》— 第4章 查询的创建与应用

方法与步骤
(1)在“学生成绩管理”数据库窗口中,选择“查询”对象,双击对象栏中的“在 设计视图中创建查询”选项,打开“显示表”对话框;在“显示表”对话框中选择“学生 ”表和“班级”表,单击“确定”按钮,再关闭“显示表”对话框。 (2)在“设计网格”中,分别添加“班级”表的“班级名称”字段和“学生”表的 “班级编号” 。 (3)在工具栏上单击“总计”按钮。Access 将在设计网格中显示“总计”行。 (4)在“班级名称”字段的“总计”行中选择“分组”;在“班级编号”字段的“ 总计”行中选择“计数”。 本例中“班级名称”为分组字段,故在总计行设置为“分组”,其他字段用于计算, 因此选择不同的计算函数。如果对所有记录进行统计,则可将“班级名称”列删除。 (5)右键单击“班级编号”单元格,选择“属性”,在“字段属性”对话框中输入 “标题”为“人数”。 (6)单击工具栏“保存”按钮,将查询保存为“班级人数统计查询”。 (7)单击“运行”按钮,则可显示查询结果。

《Access数据库应用基础》— 第4章 查询的创建与应用

相关知识与技能
汇总计算查询是使用函数Sum、Avg、Count、Max和Min计 算出所有记录或记录组的总和、平均值、计数、最大值和 最小值。汇总计算查询可以使用向导来创建,也可以使用 设计视图创建。
函 数 Avg(字段名) Sum(字段名) Count(字段名) Max(字段名) Min(字段名) 描 述 例 子 返回值 分组求平均成绩 分组求成绩字段的总 和 分组统计“班级编号” 字段的记录个数 分组求成绩的最大值 分组求成绩的最小值 对指定字段计算平均值 对指定字段累计求和 计算机该字段的记录个数 求指定字段的最大值 求指定字段的最小值 Avg(成绩) Sum(成绩) Count(班级编号) Max(成绩) Min(成绩)

任务6 利用向导创建学生成绩交叉 表查询
任务描述与分析
如果用户需要查询学生单科成绩以及成绩汇总信息时,如图4-50所 示,简单查询是无法解决这类问题的,Access 2003提供的“交叉表查询 ”则为这类问题提供了解决方法。 创建交叉表查询最好的方法是先用“创建交叉表查询向导”创建一 个交叉表查询的基本结构,然后再在设计视图中加以修改,当然也可以 直接利用设计视图来创建交叉表查询。

《Access数据库应用基础》— 第4章 查询的创建与应用

利用“创建交叉表查询向导”创建交叉表查询,查询字段只能来自
于一个表或查询,而上述任务的字段分布在“学生”表、“课程”表和 “成绩”表三个表中,因此,在创建交叉查询前,先创建“学生成绩查

询”,然后利用“学生成绩查询”创建交叉表查询。

《Access数据库应用基础》— 第4章 查询的创建与应用

方法与步骤
(1)打开“学生成绩管理”数据库,选择“查询”对象,单击“新建”按钮,在“
新建查询”对话框中选择“交叉表查询向导”,点击“确定”按钮。 (2)在 “交叉表查询向导”的第一个对话框中,选择交叉表查询所包含的字段来自 于哪个表或查询。在“视图”中选择“查询”,在列表中选择“查询:学生成绩查询”,

单击“下一步”。
(3)在对话框中分别双击“可用字段”列表中的“学号”、“姓名”字段作为行标 题。单击“下一步”按钮进入第三个对话框。 (4)在对话框中选择“课程名称”作为交叉表查询的列标题,如图4-47。单击“下

一步”。
(5)确定交叉表查询中行和列的交叉点计算的是什么值,如图4-48所示,在此“字 段”表中选择“成绩”,“函数”列表中选择“求和”,单击“下一步”。 (6)在对话框中输入查询名称:学生成绩交叉表查询,单击“完成”。 (7)这时以“数据表”的形式显示交叉表查询结果。

《Access数据库应用基础》— 第4章 查询的创建与应用

相关知识与技能
交叉表查询是查询的另一种类型。交叉表查询显示来源于表或查询中 某个字段总计值(合计、平均、计数等),并将它们分组,一组列在数

据表的左侧,称为行标题。一组列在数据表的上部,成为列标题。交叉
表查询增加了数据的可视性,便于数据的统计、查看。 创建交叉表查询可以利用“创建交叉表查询向导”和“设计视图”两

种方法。向导方法简单、易掌握,但只能针对一个表或查询创建交叉表
查询,且不能制定限制条件,若要查询多个表的话,就必须先建立一个 含有全部所需字段的查询,然后再用这个查询来创建交叉表查询。利用 “设计视图”创建交叉表查询更加灵活,查询字段可以来自于多个表, 但操作较为繁杂,将在“拓展与提高”部分介绍。

任务7 利用操作查询更新“教师” 信息
任务描述与分析

《Access数据库应用基础》— 第4章 查询的创建与应用

前面介绍的查询是根据一定要求从数据表中检索 数据,而在实际工作中还需要对数据进行删除、更

新、追加,或利用现有数据生成新的表对象,
Access 2003则提供了操作查询,用于实现上述需求

。操作查询共有四种类型:删除查询、更新查询、
追加查询与生成表查询。利用操作查询不仅可检索 多表数据,而且可利用操作查询对该查询所基于的 表进行各种操作。

1.利用“追加查询”将“代教”表中2006年9月1日前工作 的数据追加到“教师”表
追加查询是从一个表或多个表将一组记录追加到一个或多个表的尾部的查询。操作步骤如下: (1)在“学生成绩管理”数据库中新建“代教”表,表结构与“教师”表结构相同,输入数据如 图4-51。 (2)打开“查询”对象列表,双击“在设计视图中创建查询”,打开查询设计视图,将“代教” 表添加到设计视图中。 (3)将“代教”表中的全部字段拖到设计网格中,在“参加工作时间”字段列的“条件”行里输 入查询条件“<#2006-9-1#” 。如果两个表中所有的字段都具有相同的名称,也可以只将星号 (*) 拖 到查询设计网格中。 (4)若要预览查询将追加的记录,单击工具栏上的“视图”按钮,若要返回查询设计视图,可再 次单击工具栏上的“视图”按钮,在设计视图中进行任何所需的修改。 (5)在查询设计视图中,单击工具栏上“查询类型”按钮旁的箭头,在下拉菜单中单击“追加查

《Access数据库应用基础》— 第4章 查询的创建与应用

询”,弹出“追加”对话框。在“表名称”框中,输入追加表的名称“教师”,由于追加表位于当前打 开的数据库中,则选中“当前数据库”然后单击“确定”。如果表不在当前打开的数据库中,则单击“

另一数据库”并键入存储该表的数据库的路径,或单击“浏览”定位到该数据库。
(6)这时,查询设计视图增加了“追加到”行,并且在“追加到”行中自动填写追加的字段名称 。 (7)在查询设计视图中单击工具栏上的“运行”按钮,弹出追加提示框。 (8)单击“是”按钮,则Access开始把满足条件的所有记录追加到“教师”表中。

《Access数据库应用基础》— 第4章 查询的创建与应用

2.利用“删除查询”删除“教师”表中教师编号以9开头的 教师信息
删除查询是从一个或多个表中删除那些符合指定条件的行。删除记录之后,将无法撤

消此操作。
(1)新建包含要删除记录的表的查询,本例“显示表”对话框中选择“教师”表。 (2) 在查询设计视图中,单击工具栏上“查询类型”按钮旁的箭头,单击“删除查 询”,这时在查询设计网络中显示“删除”行; (3)从“教师”表的字段列表中将星号(*) 拖到查询设计网格内,“From”将显示在 这些字段下的“删除”单元格中。 (4)确定删除记录的条件,将要为其设置条件的字段从主表拖到设计网格,Where 显 示在这些字段下的“删除”单元格中。这里为“教师编号”设置删除条件。 (5)对于已经拖到网格的字段,在其“条件”单元格中键入条件:Like "9?????"。 如图4-56所示。 (6)要预览待删除的记录,请单击工具栏上的“视图”按钮。若要返回查询设计视图 ,再次单击工具栏上的“视图”按钮。“删除查询”的数据表视图如图4-57所示。 (7)单击工具栏上的“运行”按钮,则删除“教师”表中满足“删除查询”条件的记 录。

《Access数据库应用基础》— 第4章 查询的创建与应用

3.删除已安排有课的教师记录及其“课程安排”记 录
在“学生成绩管理”数据库中,“教师”表与“课程安排 ”表已建立关系,并且两表之间建立有“参照完整性”约束 。在删除教师记录时,如果该教师安排有课,即“课程安排

”表中存在该教师记录,则删除失败。使用包含一对多关系
中“一”端的表的查询来删除记录时,可在一对多关系中利 用“一”方的表上执行一个删除查询,让Access从“多”方

的表中删除相关的记录。要使用该功能,必须使表间关系具
有级联删除特性。此类查询的创建与单表删除和一对一删除 的操作步骤相同,只不过要建立的查询应该基于一对多关系

的“一”方表。

《Access数据库应用基础》— 第4章 查询的创建与应用

4.删除职称为“助讲”的教师的课程安排
该操作删除的是包含一对多关系中多端的表记录,即通过“教师”表的职称 确定教师编号,根据教师编号确定“课程安排”表中待删除的记录。 (1)新建一个查询,包含“教师”表和“课程安排”表。 (2)在查询设计视图中,单击工具栏上“查询类型”工具按钮,选择“删除 查询”。

(3)在“课程安排”表中,从字段列表将星号 (*) 拖到查询设计网格第一
列中(此时为一对多关系中的“多”方),From 将显示在这些字段下的“删除 ”单元格中。 (4)查询设计网格的第二列字段设置为“职称”(在一对多关系中“一”的 一端),Where显示在这些字段下的“删除”单元格中。 (5)在条件行输入条件:="助讲"。 (6)要预览待删除的记录,单击工具栏上的“视图”按钮。若要返回查询设

计视图,再次单击工具栏上的“视图”按钮。
(7)单击工具栏上的“运行”按钮,从“多”端的表中删除记录。

《Access数据库应用基础》— 第4章 查询的创建与应用

5.将1998年1月1日以前参加工作且职称为“ 助教”的教师职称更新为“讲师”
更新查询可以利用查询结果更新一个表中的值。

(1)创建一个新的查询,将“教师”表添加到设计视图。
(2)在查询设计视图中,单击工具栏上“查询类型”按钮旁的箭头,在下拉列表中选 择“更新查询”,这时查询设计视图网格中增加一个“更新到”行。 (3)从字段列表将要更新或指定条件的字段拖至查询设计网格中。本例选择“职称” 字段和“参加工作时间”字段。 (4)在要更新字段“职称”字段的“更新到”行中键入:"讲师",在“条件”行中键 入:="助讲";在“参加工作时间”字段的“条件”行中键入:<#1998-1-1#。 (5)若要查看将要更新的记录列表,单击工具栏上的“视图”按钮。若要返回查询设 计视图,再单击工具栏上的“视图”按钮,在设计视图中进行所需的更改。 (6)在查询设计视图中单击工具栏上的“运行”按钮,弹出更新提示框。 (7)单击“是”按钮,则Access开始按要求更新记录数据。

《Access数据库应用基础》— 第4章 查询的创建与应用

6.从“教师”表将职称为“高讲”的教师记 录保存到“高讲教师”表中
生成表查询可以将查询结果保存在表中,然后将该表保存在一个数据库中。这样就将 查询结果由动态结果集转化为新建表。 (1)创建一个新的查询,将“教师”表添加到设计视图。 (2)在查询设计视图中,单击工具栏上“查询类型”按钮旁的箭头,在下拉列表中单 击“生成表查询”,显示“生成表”对话框;如图4-64所示。 (3)在“生成表”对话框的“表名称”框中,输入所要创建或替换的表的名称,本例 输入“高级讲师”。 选择“当前数据库”选项,将新表“高级讲师”放入当前打开数据库 中。然后单击“确定”按钮,关闭“生成表”对话框。 (4)从字段列表将要包含在新表中的字段拖动到查询设计网格,在“职称”字段的“ 条件”行里键入条件: ="高讲"。 (5)若要查看将要生成的新表,单击工具栏上的“视图”按钮。若要返回查询设计视 图,再单击工具栏上的“视图”按钮,这时可在设计视图中进行所需的更改。 (6)在查询设计视图中单击工具栏上的“运行”按钮,弹出生成新表的提示框。 (7)单击“是”按钮,则Access在“学生成绩管理”数据库中生成新表“高级教师” 。打开新建的表“高级教师”,可以看出表中仅包含职称为“高级教师”的指定字段的记 录。

《Access数据库应用基础》— 第4章 查询的创建与应用

相关知识与技能
操作查询是指仅在一个操作中更改许多记录的查询,它使用户不但可以利用 查询对数据库中的数据进行简单的检索、显示及统计,而且可以根据需要对数据 库进行一定的修改。

操作查询共有四种类型:①删除查询,作用是从现有表中删除记录;②更新
查询,作用是替换现有数据;③追加查询,作用是在现有表中添加新记录;④生 成表查询,作用是创建新表。 创建和使用操作查询时可遵循以下四大基本步骤: (1)设计一个简单选择查询,选取要操作或要更新的字段。 (2)将这个选择查询转换为具体的操作查询类型,完成相应的步骤和设置。 (3)通过单击工具栏上的“视图”按钮,预览操作查询所选择的记录。确定 后,再单击“运行”按钮执行操作查询。 (4)到相应表中查看操作结果。

拓展与提高 利用设计视图创建交叉 表查询
查询”虽操作简捷,但是并不能完全满足工作需求 ,如“交叉表查询向导”中规定查询字段只能来自

《Access数据库应用基础》— 第4章 查询的创建与应用

利用“交叉表查询向导”设计“学生成绩交叉表

于一个表或查询,行标题选择最多3个,不能设置查
询条件等。利用设计视图则可以根据实际需求更加

灵活的创建交叉表查询。下面利用设计视图创建 “
班级成绩交叉表查询”。

《Access数据库应用基础》— 第4章 查询的创建与应用

方法与步骤
(1)打开“学生成绩管理”数据库,单击“查询”对象,双击“在设计视图中创建查询”,打开 查询设计视图。在“显示表”对话框中分别将“专业”表、“班级”表、“学生”表、“课程”表、“ 成绩”表添加到设计视图,单击“关闭”按钮。 (2)单击主窗口“查询”菜单,选择“交叉表查询”菜单项,将设计视图转换为“交叉表查询设

计视图”。
(3)在“专业”表中,双击“专业名称”,将“专业名称”字段添加到设计视图下方的设计网格 内。在“总计”行单元格选择“分组”选项,“交叉表”行单元格选择“行标题”选项。 (4)依次将“班级”表的“班级名称”字段、“学生”表的“学号”、“姓名”字段添加到设计 网格,“总计”行单元格选择“分组”选项,“交叉表”行单元格选择“行标题”选项;将“课程”表 的“课程名称”字段添加到设计网格,“总计”行单元格选择“分组”选项,“交叉表”行单元格选择 “列标题”选项;将“成绩”表的“成绩”字段添加到设计网格,“总计”行单元格选择“第一条记录 ”选项,“交叉表”行单元格选择“值”选项;在设计网格“班级名称”列的“条件”行单元格中输入 查询条件:="06计算机1"。

(5)单击工具栏上的“保存”按钮,打开“另存为”对话框,输入查询名称“班级成绩交叉表查
询”,单击“确定”按钮。 (6)单击工具栏上的“运行”按钮,或选择“视图”菜单的“数据表视图”显示查询结果。

《Access数据库应用基础》— 第4章 查询的创建与应用

上机实训
实训1 利用向导查询学生基本情况
【实训要求】 1.对于“学生成绩管理”数据库,使用“简单查询向导”创建查询

名称为“查询1”的查询,查询内容为 “学号”、“姓名”、“性别”
、“班级编号”和“班级名称”。 2.使用“简单查询向导”创建查询名称为“查询2” 的查询,统计 每个学生成绩的“平均分”。 3.利用“学生”表创建“交叉表”查询,查询的行标题为“班级编 号”,查询的列标题为“是否团员”,查询结果为每班的学生计数,查 询名称为“查询3”。

《Access数据库应用基础》— 第4章 查询的创建与应用

实训2 利用设计视图查询教师信息
【实训要求】
1.对于“学生成绩管理”数据库,使用查询设计视图创建一个对“ 教师”表的查询,查询内容为“教师编号”、“姓名”、“性别”和“

参加工作时间”,查询名称为“查询4”。
2.在“查询4”的查询设计视图中添加“所属专业”、“课程”表和 “课程安排”表,并设置表间联系。

3.在“查询4”的查询设计视图中添加“专业名称”、“课程编号”
、“课程名称”等查询字段,设置查询按“专业名称”字段升序排列、 并将“课程名称”字段标题改为“所任课程”。 5.运行、保存查询“查询4”。 6.打开“查询1”,并对“查询1”进行相应修改。

《Access数据库应用基础》— 第4章 查询的创建与应用

实训3 创建条件查询和参数查询
【实训要求】 1.对于“学生成绩管理”数据库,打开已创建好的“查 询1”;在设计视图的“设计网格”中设置查询条件:[班级 名称]="06计算机2",查看查询结果。

2.在“查询1”的“条件表达式”中设置“班级编号”参
数,实现参数查询,查看查询结果。 3.自拟查询条件,对于“学生成绩管理”数据库中的“ 学生”表建立相应的条件查询和参数查询。 4.按“班级”分组查询不同性别的学生人数。

总结与回顾

《Access数据库应用基础》— 第4章 查询的创建与应用

1.创建表关系 2.利用向导创建查询 3.利用设计视图创建、修改查询 4.查询中条件表达式的应用 5.创建参数查询 6.分组统计查询 7.交叉表查询 8.操作查询


相关文章:
第4章 查询和视图
第4章 查询和视图_计算机软件及应用_IT/计算机_专业资料。新版 V FP 教案(...利用查询设计器创建查询例 1:基于成绩表(cj)查询成绩在 80 分以上(含 80 分...
练习二 查询的创建与应用(答案)
第4章思考与练习一、选择题 查询的创建与应用 1.Access2003 支持的查询类型有( ) A.选择查询、交叉表查询、参数查询、SQL 查询和操作查询 B.选择查询、基本...
第4章 查询和视图(给学生)
第4章 查询和视图(给学生)_计算机软件及应用_IT/计算机_专业资料。第 4 章 ...视图 D. 菜单 利用查询设计器创建的查询,其查询结果输出去向的默认类型是___。...
第4章 查询与视图答案
百度文库 专业资料 IT/计算机 计算机软件及应用1/2 专题推荐 北师大二附理科...第6章 表单与控件的创建...1/2 相关文档推荐 查询与视图(答案) 1页 2下载...
第4章 数据查询 知识要点(精简)
《Access 2003 应用基础》 第四章 数据查询 知识要点 4.1 查询的基本概念 1....4.5 创建选择查询 1、创建不带条件的查询:建立查询的方法有两种:查询向导和“...
第4章 查询与视图
查询 第 4 章 查询和视图 4.1 学习目标 理解查询、视图的概念和查询的本质。 掌握用查询设计器设计查询的方法。 了解交叉表查询的创建方法。 掌握 SELECT-SQL...
电大《数据库基础与应用》教材第4章答案
电大《数据库基础与应用》教材第 4 章答案 第四章 结构化查询语言--SQL 一...表、建立 11. 修改、查找 12. 基本表、视图 13. 没有影响、有影响 14. ...
第4章 查询与视图
第4章 查询与视图操作 111页 免费 第4章 查询和视图 93页 2财富值 第4章...例 4.14 建立三个表,计算机应用,计算机软件,计算机硬件它们的结构为 专业 C(...
第 4 章 数据库的创建和使用
《 Visual FoxPro 程序设计 》 教案 第四章 数据库的创建和使用 4.1 VFP 数据库 1.数据库的基本组成 1.数据库的基本组成 数据库由一个以上相互关联的数据表...
《数据库技术与应用》第4章 习题答案
数据查询功能。运用 SELECT 语句来实现查询数据的功能。 数据操纵功能。主要用于...解: INSERT INTO C VALUES( ‘1’,’数据库’,’4’); (13)建立选修了 ...
更多相关标签:
应用光学李林第4章 | apicloud 创建应用 | 微信开放平台创建应用 | 支付宝创建应用 | qq互联创建应用失败 | yii2 创建新应用 | 新浪云创建应用 | 友盟创建应用在哪里 |