1、第7章 查询的使用,内容提要, Access 2003查询的概念 Access 2003的查询类型 Access 2003的查询视图 Access 2003查询的建立,本章知识点,了解Access 2003的查询概念 了解Access 2003的查询视图 熟悉Access 2003的查询类型 熟练掌握Access 2003查询的基本操作,查询是Access 2003数据库处理和分析数据的工具,是进行数据检索并对数据进行分析、计算、更新及其它加工处理的数据库对象。它可从指定的(一个或多个)表中根据给定的条件从中筛选所需要的信息,供使用者查看、更改和分析使用。查询是Access 2003数据库的一
2、个重要对象,通过查询筛选出符合条件的记录,构成一个新的数据集合,从中获取数据的表或查询称为该查询的数据源。查询的结果也可以作为数据库中其他对象的数据源。,7.1 查询的概念,7.2 Access 2003 的查询类型,在Access 2003 中,根据对数据源操作方式和操作结果的不同,将查询分为5种类型,它们分别是选择查询、参数查询、交叉表查询、操作查询和SQL查询(见p94-95)。其中,操作查询是在一个操作中更改或移动许多记录的查询。操作查询共有4种类型:删除查询、更新查询、追加查询与生成表查询。SQL查询是使用SQL语句创建的查询。主要有4种:联合查询、传递查询、数据定义查询、子查询。,
3、7.3 查询视图,查询有五种视图,即设计视图、数据表视图、SQL视图、数据透视表视图和数据透视图视图。其中,前三种视图是最常用的视图方式。,7.4 选择查询,选择查询是最常用、最简单的查询类型,它从一个或多个表及查询中检索数据,并以数据表的形式显示结果。选择查询也可以对进行分组后的数据进行总计、记数、平均值等计算。创建选择查询有两种方法:一是使用向导,二是使用设计视图。 使用向导方法创建查询操作简单,用于从一个或多个表或查询中抽取字段检索数据,但不能通过设置条件来筛选记录。设计视图功能更强大。因此,用户在操作中可根据实际需要任意选择一种方法。,在Access中使用查询向导虽然可以快速地创建查询
4、,但是对于创建指定条件的查询、参数查询和其他复杂的查询,查询向导就不能胜任了。这种情况下,可以使用“设计视图”直接创建查询。在“设计视图”中,既可以创建不带条件的查询,也可以创建带条件的查询,还可以修改通过“查询向导”创建的查询。,7.4.1 使用“查询向导”创建查询(见p97-99),7.4.2 使用设计视图创建查询(见p99-106),1创建不带条件的查询(见例7.3p100-101) 2创建带条件的查询(见例7.4、7.5p101-102) 3查询条件查询条件是运算符、常量、字段值、函数以及字段名和 属性等的任意组合,能够计算出一个结果的算式。查询条 件在创建带条件的查询时经常用到。因此
5、,了解条件的组 成,掌握它们的书写方法非常重要。三种运算符及其含义 如表7.1、表7.2和表7.3所示。,(1)运算符运算符是构成查询条件的基本元素。 常用的运算符包括:关系运算符、逻辑运算符和特殊运算符。,表7.1 关系运算符及其含义,表7.2 逻辑运算符及其含义,表7.3 特殊运算符及含义,(2)函数 Access提供了大量的标准函数,如数值函数、字符函数、日期时间函数和统计函数等。这些函数为构造查询条件提供了很大的便利,也为更准确地进行统计计算和数据处理提供了有效的方法,常用函数如表7.4所示。,表7.4 函数及其含义,(3)使用数值作为查询条件 在Access中创建查询时,经常会使用数
6、值作为查询的条件,为了让大家更好的理解和掌握以数值作为查询的条件,示例如表7.5所示。,表7.5 以数值作为查询条件,(4)使用文本值作为查询条件 使用文本作为查询条件,可以更方便地限定查询的范围和查询的条件,以实现查询的功能。以文本值作为查询条件的示例和功能如表7.6所示。,表7.6 使用文本值作为查询条件,(5)使用计算后的日期结果作为查询条件使用计算后的日期结果作为查询条件可以方便地限定查询的时间范围。以计算后的日期结果作为查询条件的示例和功能如表7.7所示。,表7-7 以计算或日期作为查询条件,(6)使用字段的部分值作为查询条件使用字段的部分值作为查询条件可以方便地对查询的范围做一定的
7、设置。使用字段的部分值作为查询条件的示例和功能如表7.8所示。,表7.8以字段的部分值作为查询条件,(7)使用空值或空字符串作为查询条件空值是使用Null或空白来表示字段的值;空字符串是用双引号括起来的字符串,且双引号中间没有空格。 使用空值或空字符串作为查询条件示例和功能如表7.9所示。,表 7.9 以空值或空字符串作为查询条件,注意:在条件中字段名必须用方括号括起来,数据类型必须与对应字段定义的类型相符合,无论是用“向导”方法创建的查询还是用“设计”视图创建的查询,建立好后都可以根据需要在设计视图中对查询进行修改。 7.5.1 添加表/查询 7.5.2 删除表/查询 7.5.3 添加字段
8、7.5.4 删除字段 7.5.5 重新设置查询字段名,7.5 修改查询,7.6 重复项查询和不匹配项查询,在创建查询时,有时要在表中查询内容相同的记录,有时又要在表中查找与指定内容不相匹配的记录,这时就要用到重复项查询和不匹配项查询。 7.6.1重复项查询利用【查询重复项查询向导】可以快速地在表中查找内容相同的记录,以确定表中是否存在重复值的记录。 7.6.2 不匹配项查询利用【查找不匹配项查询向导】可以在两个表/查询中,查找不相匹配的记录。,7.7 创建计算方式查询,前面我们建立了许多查询,虽然这些查询都非常实用,但用一般方法建立的这些查询仅仅是为了获取符合条件的记录,并没有对查询所得到的结
9、果进行更深入的分析和利用。在实际应用中,常常需要对查询结果进行统计计算,如计算某门课程的平均分等。在Access查询中,可以执行两种类型的计算,预定义计算和自定义计算。(见p111),7.7.1 总计查询(属于预定义计算),在创建查询时,有时可能更关心的是记录的统计结果,而不是表中记录的具体内容。例如,统计学生总人数,每名学生各科的平均成绩等。为了获取这样的数据,需要使用Access提供的“总计查询”功能。 “总计查询”是在成组的记录中完成一定计算的查询。使用查询设计视图中的“总计”行,可以对查询中全部记录或记录组计算一个或多个字段的统计值。 (见p112 例7.8),7.7.2 分组总计查询
10、(属于预定义计算),在查询中,如果需要对记录进行分类统计,可以使用分组统计功能。即将记录进行分组,对每个组的值进行统计。分组统计时,应在该字段的“总计”行上选择“分组”。 (见p123例7.9,7.10),7.7.3 添加计算字段(属于自定义计算),为提高一般统计和分组统计结果显示的可读性,可以通过添加新字段的方法,在“设计网格”中把能充分说明统计结果内容(或性质)的文本以“字段”名称的形式添加进去。 添加的新字段值是根据一个或多个表中的一个或多个字段并使用表达式计算得到,也称为计算字段。添加新字段不但可以使显示的结果更加清晰,还可以进行相应的计算。 (见p114 例7.11,12),7.8
11、参数查询,参数查询可以在运行查询的过程中自动修改查询的规则,用户在执行参数查询时会显示一个输入对话框以提示用户输入信息。此时输入一定的条件就可以查出满足条件的记录。Access 的参数查询包括单参数查询和多参数查询。参数查询是建立在选择查询的基础上的,所以查询设计的开始几步如前几节所述,只是需要在查询设计网格的“条件”单元格中添加运行该查询时系统显示的提示信息即可。,7.8.1 单参数查询创建单参数查询,即指定一个参数,在执行单参数查询时,只输入一个参数值。(见p116例7.13) 7.8.2 多参数查询创建多参数查询,即指定多个参数。在执行多参数查询时,需要依次输入多个参数值。(见p117例
12、7.14),7.9 操作查询,操作查询是Access查询中的一个主要组成部分,它使用户不但可以利用查询对数据库中的数据进行简单的检索、显示以及统计,而且可以根据自己的需要对数据库进行一定的修改。操作查询就是指仅在一个操作中就能更改许多记录的查询。操作查询共有四种类型:生成表查询、追加查询、更新查询和删除查询。下面就对操作查询的四种类型分别加以介绍。,7.9.1 生成表查询设计,生成表查询就是利用查询建立一个新表。在Access中,从表中访问数据要比从查询中访问数据快得多,因此如果经常要从几个表中提取数据,最好的方法是使用生成表查询,将从多个表中提取的数据生成一个新表,永久保存起来。生成的新表也
13、可导出到其他数据库中或者在窗体和报表中加以利用。(见p118例7.15),7.9.2 更新查询设计,更新查询就是对一个或多个表中的一组记录作全局的更改。在建立和维护数据库的过程中,常常需要对表中的记录进行更新和修改。如果要对符合条件的一组记录进行逐条更新修改则既费时又费力,又不能保证没有遗漏。因此对于这种一次改变一组记录的值的操作,最简单有效的办法就是使用更新查询。(见p119例7.16),7.9.3 追加查询设计,追加查询可以为指定的表增加记录,要增加记录的表必须是一个已经存在的表,这个表可以是同一个数据库或其他Access数据库。在介绍追加查询操作过程之前,我们需要明确追加查询并不是向其他数据库中添加数据记录的最快方法,因为可以直接利用“编辑”菜单中的“复制”和“粘贴”命令进行数据记录的添加。追加查询有用之处是将一个表中的数据按照一定的准则向其他表中添加数据记录。(见p121例7.17),7.9.4 删除查询设计,使用删除查询可以使用查询删除一组记录。删除后的记录无法恢复。在数据库中,如果有一些数据对用户来说已经没有用处了,就必须及时地从数据库中删除。(见p122例7.18) 删除前应注意:1.应有备份数据;2.使用该操作之后,将不能撤销该操作,所以应预览即将删除的数据;3.因为有“一对多”的关系,所以执行该操作有可能会删除不包含在删除撤销中相关表中的数据。,