第三章查询 执笔:计算机基础可承租 北京中医药大学信息中心 2008年8月 上一章介绍了数据库的建立和维护方法。使用这些方法,能够容易的建立数据 库,但是建立数据库,将数据正确的保存在数据库中并不是最终目的,最终目的是 为了更好的使用它,通过对数据库的数据进行各种分析和处理,从中提取有用的信 息。查询是Access处理和分析数据的工具,它能够把多个表中的数据抽取出来,供 用户查看、更改和分析使用。为了使学生更好的了解Access的查询功能,学会创建 和使用查询的方法,本章将详细介绍查询的基本操作,包括查询的概念、查询的创 建和使用。 3.1认识查询 在Access中,任何时候都可以从已经建立的数据库中按照一定的条件取出需 要的记录,查询就是实现这种操作的最主要的方法。 3.1.1查询的功能 查询是对数据库总的表进行查找,同时产生一个类似于表的结果。 利用查询可以实现以下功能: 1.选择字段 在查询中,可以只选择表中的部分字段。如建立一个查询,只显示“教师” 表中每名教师的姓名、性别、工作时间和系别。利用查询这一功能,可以通过选择 一个表中的不同字段生成所需的多个表。 2.选择记录 根据指定的条件查找所需的记录,并显示找到的记录。如建立一个查询,只 显示“教师”表中1992年参加工作的男教师。 3.编辑记录 编辑记录主要包括添加记录、修改记录和删除记录等。在Access中,可以利用 查询添加、修改和删除表中的记录。如将“计算机实用软件”不及格的学生从“学 生”表中删除。 4.实现计算 查询不仅可以找到满足条件的记录,而且还可以在建立查询的过程中进行各种 统计计算,如计算每门课程的平均成绩。另外,还可以建立一个计算字段,利用计 算字段保存计算的结果。 第三章 -1
第三章 - 1 - 第三章 查询 执笔:计算机基础可承租 北京中医药大学信息中心 2008年8月 上一章介绍了数据库的建立和维护方法。使用这些方法,能够容易的建立数据 库,但是建立数据库,将数据正确的保存在数据库中并不是最终目的,最终目的是 为了更好的使用它,通过对数据库的数据进行各种分析和处理,从中提取有用的信 息。查询是Access处理和分析数据的工具,它能够把多个表中的数据抽取出来,供 用户查看、更改和分析使用。为了使学生更好的了解Access的查询功能,学会创建 和使用查询的方法,本章将详细介绍查询的基本操作,包括查询的概念、查询的创 建和使用。 3.1 认识查询 在Access中,任何时候都可以从已经建立的数据库中按照一定的条件取出需 要的记录,查询就是实现这种操作的最主要的方法。 3.1.1 查询的功能 查询是对数据库总的表进行查找,同时产生一个类似于表的结果。 利用查询可以实现以下功能: 1.选择字段 在查询中,可以只选择表中的部分字段。如建立一个查询,只显示“教师” 表中每名教师的姓名、性别、工作时间和系别。利用查询这一功能,可以通过选择 一个表中的不同字段生成所需的多个表。 2.选择记录 根据指定的条件查找所需的记录,并显示找到的记录。如建立一个查询,只 显示“教师”表中1992年参加工作的男教师。 3.编辑记录 编辑记录主要包括添加记录、修改记录和删除记录等。在Access中,可以利用 查询添加、修改和删除表中的记录。如将“计算机实用软件”不及格的学生从“学 生”表中删除。 4.实现计算 查询不仅可以找到满足条件的记录,而且还可以在建立查询的过程中进行各种 统计计算,如计算每门课程的平均成绩。另外,还可以建立一个计算字段,利用计 算字段保存计算的结果
5.建立新表 利用查询得到的结果可以建立一个新表。如将“计算机实用软件”成绩在90分 以上的学生找出来并存放在一个新表中。 6.建立基于查询的报表和窗体 为了从一个或多个表中选择合适的数据显示在报表或窗体中,用户可以先建立 一个查询,然后将该查询的结果作为报表或窗体的数据源。每次打印报表或打开窗 体时,该查询就从它的基表中检索出符合条件的最新记录。这样也提高了报表或窗 体的使用效果。 3.1.2查询的类型 1.选择查询 选择查询是最常用的查询类型,顾名思义,它是根据指定的查询条件,从一个 或多个表中获取数据并显示结果。也可以使用选择查询对记录进行分组,并且对记 录进行总计、计数、平均以及其他类型的计算。 2.交叉表查询 交叉表查询把来源于某个表中的字段进行分组,一组列在数据表的左侧,一组 列在数据表的上部,然后在数据表行与列的交叉处显示表中某个字段的统计值。交 叉表查询就是利用了表中的行和列来统计数据的。 3.参数查询 参数查询是一种利用对话框来提示用户输入条件的查询。这种查询可以根据用 户输入的条件来检索符合相应条件的记录。 4.操作查询 操作查询与选择查询相似,都是由用户指定查找记录的条件,但选择查询是检 查符合特定条件的一组记录,而操作查询是在一次查询操作中对所得结果进行编辑 等操作。 5.SQL查询 SQL查询就是用户使用SQL语句来创建的一种查询。SQL查询主要包括联合查询、 传递查询、数据定义查询和子查询等4种。联合查询是将一个或多个表、一个或多个 查询的字段组合为查询结果中的一个字段,执行联合查询时,将返回所包含的表或 查询中的对应字段记录:传递查询是直接将命令发送到数据库,它使用服务器能接 受的命令,利用它可以检索或更改记录:数据定义查询可以创建、删除或更改表, 或在当前的数据库中创建索引:子查询是包含另一个选择或操作查询中的$QL SELECT语句,可以在查询设计网格的“字段”行输入这些语句来定义新字段,或在 第三章 -2
第三章 - 2 - 5.建立新表 利用查询得到的结果可以建立一个新表。如将“计算机实用软件”成绩在90分 以上的学生找出来并存放在一个新表中。 6.建立基于查询的报表和窗体 为了从一个或多个表中选择合适的数据显示在报表或窗体中,用户可以先建立 一个查询,然后将该查询的结果作为报表或窗体的数据源。每次打印报表或打开窗 体时,该查询就从它的基表中检索出符合条件的最新记录。这样也提高了报表或窗 体的使用效果。 3.1.2 查询的类型 1.选择查询 选择查询是最常用的查询类型,顾名思义,它是根据指定的查询条件,从一个 或多个表中获取数据并显示结果。也可以使用选择查询对记录进行分组,并且对记 录进行总计、计数、平均以及其他类型的计算。 2.交叉表查询 交叉表查询把来源于某个表中的字段进行分组,一组列在数据表的左侧,一组 列在数据表的上部,然后在数据表行与列的交叉处显示表中某个字段的统计值。交 叉表查询就是利用了表中的行和列来统计数据的。 3.参数查询 参数查询是一种利用对话框来提示用户输入条件的查询。这种查询可以根据用 户输入的条件来检索符合相应条件的记录。 4.操作查询 操作查询与选择查询相似,都是由用户指定查找记录的条件,但选择查询是检 查符合特定条件的一组记录,而操作查询是在一次查询操作中对所得结果进行编辑 等操作。 5.SQL查询 SQL查询就是用户使用SQL语句来创建的一种查询。SQL查询主要包括联合查询、 传递查询、数据定义查询和子查询等4种。联合查询是将一个或多个表、一个或多个 查询的字段组合为查询结果中的一个字段,执行联合查询时,将返回所包含的表或 查询中的对应字段记录;传递查询是直接将命令发送到数据库,它使用服务器能接 受的命令,利用它可以检索或更改记录;数据定义查询可以创建、删除或更改表, 或在当前的数据库中创建索引;子查询是包含另一个选择或操作查询中的SQL SELECT语句,可以在查询设计网格的“字段”行输入这些语句来定义新字段,或在
“条件”行来定义字段的条件。 3.1.3建立查询的准则 1.准则中的运算符 运算符是组成条件的基本元素。 ·Access提供了关系运算符、逻辑运算符和特殊运算符。 ·这3种运算符的含义分别见表3-1、表3-2和表3-3。 -关系运算符:P91 Table3.1关系运算符及涵义 -逻辑元算符:P91 Table3.2逻辑运算符及涵义 -特殊运算符:P91 Table3.3特殊运算符及涵义in between like Is nul1“is not nul1” 2.函数 Acccss提供了大量的标准函数,这些函数为用户更好地构造查询条件提供了极大 的便利,也为用户更准确地进行统计汁算、实现数据处理提供了有效的方法。 -数值函数:P91 Table3.4 -字符函数:P91 Table3.5 一日期时间函数:P92 Table3.6 -统计函数:P92 Table3.7 3.使用文本值作为准则 在Access中建立查询时,经常会使用文本值作为查询的条件。使用文本值作为 查询的条件可以方便地限定查询的范围和查询的条件,实现一些相对简单的查询。 表3-8给出了以文本值作为条件的示例和它们的功能。 -文本值作为准则示例:P93 Table3.8 4.使用处理日期结果作为准则P93 Table3.9 字段名 件 功 能 工作时间 Between #92-01-01# And查询92年参加工作的职工 #92-12-31# 工作时间 <Date()-15 查询15天前参加工作的记录 工作时间 Between Date()And Date()-20 查询20天之内参加工作的记录 出生日期 Year([出生日期]=1980 查询1980年出生的学生记录 第三章 .3-
第三章 - 3 - “条件”行来定义字段的条件。 3.1.3 建立查询的准则 1.准则中的运算符 运算符是组成条件的基本元素。 • Access 提供了关系运算符、逻辑运算符和特殊运算符。 • 这3 种运算符的含义分别见表3-1 、表3-2 和表3-3 。 – 关系运算符:P91 Table 3.1关系运算符及涵义 – 逻辑元算符:P91 Table 3.2 逻辑运算符及涵义 – 特殊运算符:P91 Table 3.3 特殊运算符及涵义in between like Is null “is not null” 2.函数 Acccss提供了大量的标准函数,这些函数为用户更好地构造查询条件提供了极大 的便利,也为用户更准确地进行统计汁算、实现数据处理提供了有效的方法。 – 数值函数:P91 Table 3.4 – 字符函数:P91 Table 3.5 – 日期时间函数:P92 Table 3.6 – 统计函数:P92 Table 3.7 3.使用文本值作为准则 在Access 中建立查询时,经常会使用文本值作为查询的条件。使用文本值作为 查询的条件可以方便地限定查询的范围和查询的条件,实现一些相对简单的查询。 表3-8 给出了以文本值作为条件的示例和它们的功能。 – 文本值作为准则示例:P93 Table3.8 4.使用处理日期结果作为准则 P93 Table3.9 字段名 条 件 功 能 工作时间 Between #92-01-01# And #92-12-31# 查询 92 年参加工作的职工 工作时间 <Date()-15 查询 15 天前参加工作的记录 工作时间 Between Date() And Date()-20 查询 20 天之内参加工作的记录 出生日期 Year([出生日期])=1980 查询 1980 年出生的学生记录
工作时间 Year(工作时间])=1999And查询1999年4月参加工作的记录 Month([工作时间]=4 5.使用字段的部分值作为准则 在Access中建立查询时,可能需要只使用字段中包含的部分值作为查询条件。 使用字段的部分值作为条件可以方便地限定查询的范围。表3-10显示了使用字段的 部分值作为条件的示例。 字段名 条 件 功 能 课程名称 Lke"计算机*" 查询课程名称以计算机”开头的记录 课程名称 Lke"*计算机*” 查询课程名称中包含“计算机”的记录 姓名 Not"王*" 查询不姓王的记录 6.使用空值或空字符串作为条件 空值是使用Nu11或空白来表示字段的值:空字符串是用双引号括起来的字符串, 且双引号中间没有空格。在查询时常常需要使用空值或空字符串作为查询的条件, 来查看数据库表中的某些记录。 表3-11列举了使用空值或空字符串作为条件的示例。 字段名 条 件 功 能 姓名 Is Null 查询姓名为Nul(空值)的记录 姓名 Is Not Null 查询姓名有值(不是空值)的记录 联系电话 查询没有联系电话的记录 3.2创建选择查询 在实际应用中,需要创建的查询选择多种多样。有些是带条件的检索,例如: 检索教授的基本情况:而有些不带任何条件,只是简单的将表中的记录全部或部分 字段内容检索出来,例如,只查看“教师表”中的“姓名”、“性别”、“工作时间” “系别”等字段内容。本节将介绍选择查询的创建方法。 3.2.1创建不带条件的查询 一般情况,建立查询的方法有两种:查询向导和“设计”视图。下面介绍如何 使用这两种方法创建不带条件的查询。 1.使用查询向导 查询-〉使用向导创建查询,或者: 第三章 .4
第三章 - 4 - 工作时间 Year([ 工 作 时 间 ])=1999 And Month([工作时间])=4 查询 1999 年 4 月参加工作的记录 5.使用字段的部分值作为准则 在Access中建立查询时,可能需要只使用字段中包含的部分值作为查询条件。 使用字段的部分值作为条件可以方便地限定查询的范围。表3-10显示了使用字段的 部分值作为条件的示例。 字段名 条 件 功 能 课程名称 Like "计算机*" 查询课程名称以“计算机”开头的记录 课程名称 Like "*计算机*" 查询课程名称中包含“计算机”的记录 姓名 Not "王*" 查询不姓王的记录 6.使用空值或空字符串作为条件 空值是使用Null或空白来表示字段的值;空字符串是用双引号括起来的字符串, 且双引号中间没有空格。在查询时常常需要使用空值或空字符串作为查询的条件, 来查看数据库表中的某些记录。 表 3-11 列举了使用空值或空字符串作为条件的示例。 字段名 条 件 功 能 姓名 Is Null 查询姓名为 Null(空值)的记录 姓名 Is Not Null 查询姓名有值(不是空值)的记录 联系电话 "" 查询没有联系电话的记录 3.2 创建选择查询 在实际应用中,需要创建的查询选择多种多样。有些是带条件的检索,例如: 检索教授的基本情况;而有些不带任何条件,只是简单的将表中的记录全部或部分 字段内容检索出来,例如,只查看“教师表”中的“姓名”、“性别”、“工作时间” “系别”等字段内容。本节将介绍选择查询的创建方法。 3.2.1 创建不带条件的查询 一般情况,建立查询的方法有两种:查询向导和“设计”视图。下面介绍如何 使用这两种方法创建不带条件的查询。 1. 使用查询向导 查询-〉使用向导创建查询,或者:
新建查询-〉简单查询向导,具体方法。查看: ·P94Ex3.1 ·P97Ex3.2 2.使用设计视图 ·P99Ex3.3 3.运行查询 建立查询以后,用户可以运行查询从而获得查询的结果,运行查询的操作步骤如 下: (1).在数据库窗口中,单击查询对象。 (2).选择要运行的查询,然后单击“打开”按钮:或双击要运行的查询。 3.2.2创建带条件的查询 使用带条件的查询,可以查找出符合用户条件的记录。 通常,使用“设计视图”来创建,查询-〉在设计视图中创建查询-〉显示表,选 择表-〉单击“添加”_-〉选择表中要显示的字段〉然后,在“查询视图”的网格部 分,“准则”添加查询条件。最后,保存查询,运行查询。 ·P101Ex3.4 ·P103Ex3.5 3.3在查询中进行计算 在实际应用中,常常需要对查询的结果进行计算。例如,求和、计数、求最大 值、求最小值、求平均值等。本节将介绍如何在建立查询的同时进行计算。 3.3.1了解查询计算功能 在查询中可执行许多类型的计算。例如,可以计算一个字段值的总和或平均值。 Access提供了总和、平均值、数量、最小值、最大值、标准偏差或方差等预定 义计算。用户也可以输入计算字段,进行自定义计算。 3.3.2总计查询(不同于分组总计查询) 在建立查询时,可能更关心的是记录的统计结果,而不是表中记录。例如,某年 参加工作的教师人数,每名学生各科的平均成绩等。 为了获取这些数据,需要使用Access提供的总计查询功能。所谓总计查询就是在 成组的记录中完成一定计算的查询。 使用查询“设计”视图中的“总计”行,可以对查询中全部记录或记录组计算一 个或多个字段的统计值。 1.创建总计查询 P105Ex3.6P106Ex3.7 第三章 .5
第三章 - 5 - 新建查询-〉简单查询向导,具体方法。查看: • P94 Ex 3.1 • P97 Ex 3.2 2. 使用设计视图 • P99 Ex 3.3 3. 运行查询 建立查询以后,用户可以运行查询从而获得查询的结果,运行查询的操作步骤如 下: (1). 在数据库窗口中,单击查询对象。 (2). 选择要运行的查询,然后单击“打开”按钮;或双击要运行的查询。 3.2.2 创建带条件的查询 使用带条件的查询,可以查找出符合用户条件的记录。 通常,使用“ 设计视图” 来创建,查询-〉在设计视图中创建查询-〉显示表,选 择表-〉单击“添加”_-〉选择表中要显示的字段-〉然后,在“查询视图”的网格部 分,“准则”添加查询条件。最后,保存查询,运行查询。 • P101 Ex 3.4 • P103 Ex 3.5 3.3 在查询中进行计算 在实际应用中,常常需要对查询的结果进行计算。例如,求和、计数、求最大 值、求最小值、求平均值等。本节将介绍如何在建立查询的同时进行计算。 3.3.1 了解查询计算功能 在查询中可执行许多类型的计算。例如,可以计算一个字段值的总和或平均值。 Access 提供了总和、平均值、数量、最小值、最大值、标准偏差或方差等预定 义计算。用户也可以输入计算字段,进行自定义计算。 3.3.2 总计查询(不同于分组总计查询) 在建立查询时,可能更关心的是记录的统计结果,而不是表中记录。例如,某年 参加工作的教师人数,每名学生各科的平均成绩等。 为了获取这些数据,需要使用Access提供的总计查询功能。所谓总计查询就是在 成组的记录中完成一定计算的查询。 使用查询“设计”视图中的“总计”行,可以对查询中全部记录或记录组计算一 个或多个字段的统计值。 1.创建总计查询 P105 Ex3.6 P106 Ex 3.7