第三章查询 执笔:计算机基础可承租 北京中医药大学信息中心 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
2.总计项 可以使用查询“设计网格”中的“总计”行上的“总计项”。如表3.14(P107)。 总计项 功 能 总计(Sum) 求某字段的累加值 平均值(Avg) 求某字段的平均值 最小值(Min) 求某字段的最小值 函数 最大值(Max) 求某字段的最大值 计数(Count) 求某字段中非空值数 标准差(StDev) 求某字段值的标准偏差 方差(Var) 求某字段值的方差 分组(Group By) 定义要执行计算的组 第一条记录(First求在表或查询中第一条记录 的字段值 最后一条记录 求在表或查询中最后一条记 其他总计项 (Last) 录的字段值 表达式 创建表达式中包含统计函数 (Expression) 的计算字段 条件(Where) 指定不用于分组的字段条件 3.3.3分组总计查询 在实际应用中,不仅要统计某个字段中的所有值,而且还需要把记录分组,对每 个组的值进行统计。 一在“设计”视图中,将用于分组字段的“总计”行设置成“分组”, 就可以对记录进行分组统计了。 -Ex3.8统计各类职称的教师人数(课堂演示)。 一练习: 练习册11页题目:3.4.1和3.4.2 3.3.4添加计算字段 在查询中,当需要为统计数据命名一个新的字段名称时,需要添加一个计算字段。 计算字段是指根据一个或多个表中的一个或多个字段,使用表达式建立的新字 段。 第三章 .6-
第三章 - 6 - 2.总计项 可以使用查询“设计网格”中的“总计”行上的“总计项”。如表 3.14(P107)。 总 计 项 功 能 函数 总计(Sum) 求某字段的累加值 平均值(Avg) 求某字段的平均值 最小值(Min) 求某字段的最小值 最大值(Max) 求某字段的最大值 计数(Count) 求某字段中非空值数 标准差(StDev) 求某字段值的标准偏差 方差(Var) 求某字段值的方差 其他总计项 分组(Group By) 定义要执行计算的组 第一条记录(First)求在表或查询中第一条记录 的字段值 最后一条记录 (Last) 求在表或查询中最后一条记 录的字段值 表达式 (Expression) 创建表达式中包含统计函数 的计算字段 条件(Where) 指定不用于分组的字段条件 3.3.3 分组总计查询 在实际应用中,不仅要统计某个字段中的所有值,而且还需要把记录分组,对每 个组的值进行统计。 – 在“ 设计” 视图中,将用于分组字段的“ 总计” 行设置成“ 分组” , 就可以对记录进行分组统计了。 – Ex 3.8 统计各类职称的教师人数(课堂演示)。 – 练习: 练习册11页题目:3.4.1和3.4.2 3.3.4 添加计算字段 在查询中,当需要为统计数据命名一个新的字段名称时,需要添加一个计算字段。 计算字段是指根据一个或多个表中的一个或多个字段,使用表达式建立的新字 段
例3.9将例3-8所建立的查询结果显示为如下图所示形式。 匣例3-9各类职称教师人数:选择查询 日回☒ 人数 职称 T副教授 10讲师 5教授 记录: 3)1D米共有记录数:3 3.3在查询中进行计算 练习: ·练习册12页,3.2.3添加计算字段 3.4 创建交叉表查询 3.4.1认识交叉表查询 交叉表查询就是将来源于某个表中的字段自行分组,一组列在数据表的左侧, 一组列在数据表的上部,在行与列的交叉处显示表中某个字段的各种计算值。 面查询2:交叉表查询 日回☒ 性别 9901 9902 9903 男 2 女 3 2 记录: 1刀>米共有记录数:2 创建交叉表查询时,用户需要指定三种字段:一是放在数据表最左端的行标题, 它把某一字段或相关的数据放入指定的一行中:二是放在数据表最上面的列标题, 它对每一列指定的字段或表进行统计,并将统计结果放入该列中;三是放在数据表 行与列交叉位置上的字段,用户需要为该字段指定一个总计项。 3.4.2创建交叉表查询 创建交叉表查询有两种方法: 1.使用“查询向导” 第三章 7-
第三章 - 7 - 例 3.9 将例3-8所建立的查询结果显示为如下图所示形式。 3.3 在查询中进行计算 练习: • 练习册12页,3.2.3 添加计算字段 3.4 创建交叉表查询 3.4.1 认识交叉表查询 交叉表查询就是将来源于某个表中的字段自行分组,一组列在数据表的左侧, 一组列在数据表的上部,在行与列的交叉处显示表中某个字段的各种计算值。 创建交叉表查询时,用户需要指定三种字段:一是放在数据表最左端的行标题, 它把某一字段或相关的数据放入指定的一行中;二是放在数据表最上面的列标题, 它对每一列指定的字段或表进行统计,并将统计结果放入该列中;三是放在数据表 行与列交叉位置上的字段,用户需要为该字段指定一个总计项。 3.4.2 创建交叉表查询 创建交叉表查询有两种方法: 1.使用“查询向导
使用查询向导 所用字段必须来自于同一个表和同一个查询 g:3.11在“教学管理”数据库中创建统计每班男女生人数的交叉表查询。 结果如图所示。P113 恒每班男女生人数交叉表:交叉表查询 ▣▣☒ 班级 男 9801 2 9803 5 11 9804 2 9901 1 9904 记录: 11米共有记录数:5 2. 使用“设计”视图 Eg3.12在“教学管理”数据库中创建一个交叉表查询,使其显示每名学生每 门课程的成绩。P116 3.5创建参数查询 参数查询是这样一种查询,它在执行时显示自己的对话框以提示用户输入信息。 例如条件,它检索要插入到字段中的记录或值。 3.5.1单参数查询 创建单参数查询,就是在字段中指定一个参数,在执行参数查询时,用户输入 一个参数值。 3.13以“例3-2学生选课成绩”查询为数据源建立一个查询,使其查询并显示 某学生所选课程的成绩。 3.5.2多参数查询 创建多参数查询,就是在字段中指定多个参数,在执行多参数查询时,用户依 次输入多个参数值。 3.14建立一个查询,使其显示某班某门课的学生“姓名”和“成绩”。 3.6创建操作查询 3.6.1认识操作查询 背景:在对数据库维护时,常常需要成批的修改数据。例如:删除选课成绩小 第三章 -8-
第三章 - 8 - • 使用查询向导 所用字段必须来自于同一个表和同一个查询 eg:3.11 在“教学管理”数据库中创建统计每班男女生人数的交叉表查询。 结果如图所示。 P113 2. 使用“设计”视图 Eg 3.12 在“教学管理”数据库中创建一个交叉表查询,使其显示每名学生每 门课程的成绩。 P116 3.5 创建参数查询 参数查询是这样一种查询,它在执行时显示自己的对话框以提示用户输入信息。 例如条件,它检索要插入到字段中的记录或值。 3.5.1 单参数查询 创建单参数查询,就是在字段中指定一个参数,在执行参数查询时,用户输入 一个参数值。 3.13 以“例3-2学生选课成绩”查询为数据源建立一个查询,使其查询并显示 某学生所选课程的成绩。 3.5.2 多参数查询 创建多参数查询,就是在字段中指定多个参数,在执行多参数查询时,用户依 次输入多个参数值。 3.14 建立一个查询,使其显示某班某门课的学生“ 姓名” 和“ 成绩” 。 3.6 创建操作查询 3.6.1认识操作查询 背景:在对数据库维护时,常常需要成批的修改数据。例如:删除选课成绩小
于60分的纪录。 操作查询指仅在一个操作中更改许多纪录的查询。 操作查询包括:生成表查询、删除查询、更新查询和追加查询。 3.6.2生成表查询 在Access中,从表中访问数据要比从查询中访问数据块的多,如果经常要从几 个表中提取数据,最好的方法是使用Access提供的生成表查询,即从多个表中提取 数据组合来生成一个新表永久保存。 P121Eg:3.15将成绩在90分以上的学生信息存储到一个新表中。 3.6.3删除查询 如果要删除同一类的一组记录,可以使用Access提供的删除查询。 如果要从多个表中删除相关记录必须满足以下条件: 在“关系”窗口中定义表之间的关系。 在“关系”对话框中选中“实施参照完整性”复选框 一在“关系”对话框中选中“级联删除相关记录”复选框。 3.7创建Sg1查询 在Access中,创建和修改查询最便利的方法是使用查询“设计”视图。但是, 在创建查询时并不是所有的查询都可以在系统提供的查询“设计”视图中进行,有 的查询只能通过SQL语句来实现。例如,同时显示“90分以上学生情况”表中所有记 录和“学生成绩查询”中80分以下的所有记录,显示内容为“学生编号”、“姓 名”、“成绩”等3个字段。 SQL查询是用户使用SQL语句直接创建的一种查询。实际上,Access的所有查询 都可以认为是一个SQL查询,因为Access查询就是以SQL语句为基础来实现查询功能 的。如果用户比较熟悉$QL语句,那么使用它建立查询、修改查询的条件将比较方便。 下面分别介绍使用$QL修改查询中的条件及创建SQL查询。 3.7.1使用Sq1修改查询中的准则 >如果比较熟悉SQL语句,可能希望直接对查询的基础SQL语句进行操作。 >P127Eg3.19 3.7.2创建Sqg1查询 SQL查询可以分为以下4类:联合查询、传递查询、数据定义查询和子查询。 1.联合查询: 这种类型的查询将来自一个或多个表或查询的字段(列)组合为查询结果中的一 第三章 -9
第三章 - 9 - 于60分的纪录。 操作查询指仅在一个操作中更改许多纪录的查询。 操作查询包括:生成表查询、删除查询、更新查询和追加查询。 3.6.2 生成表查询 在Access中,从表中访问数据要比从查询中访问数据块的多,如果经常要从几 个表中提取数据,最好的方法是使用Access提供的生成表查询,即从多个表中提取 数据组合来生成一个新表永久保存。 P121 Eg:3.15 将成绩在90分以上的学生信息存储到一个新表中。 3.6.3 删除查询 如果要删除同一类的一组记录,可以使用Access提供的删除查询。 如果要从多个表中删除相关记录必须满足以下条件: – 在“关系”窗口中定义表之间的关系。 – 在“关系”对话框中选中“实施参照完整性”复选框 – 在“关系”对话框中选中“级联删除相关记录”复选框。 3.7 创建Sql查询 在Access中,创建和修改查询最便利的方法是使用查询“设计”视图。但是, 在创建查询时并不是所有的查询都可以在系统提供的查询“设计”视图中进行,有 的查询只能通过SQL语句来实现。例如,同时显示“90分以上学生情况”表中所有记 录和“学生成绩查询”中80分以下的所有记录,显示内容为“学生编号”、“姓 名”、“成绩”等3个字段。 SQL查询是用户使用SQL语句直接创建的一种查询。实际上,Access的所有查询 都可以认为是一个SQL查询,因为Access查询就是以SQL语句为基础来实现查询功能 的。如果用户比较熟悉SQL语句,那么使用它建立查询、修改查询的条件将比较方便。 下面分别介绍使用SQL修改查询中的条件及创建SQL查询。 3.7.1 使用Sql修改查询中的准则 ➢ 如果比较熟悉SQL语句,可能希望直接对查询的基础SQL语句进行操作。 ➢ P127 Eg 3.19 3.7.2 创建Sql查询 SQL查询可以分为以下4类:联合查询、传递查询、数据定义查询和子查询。 1.联合查询: 这种类型的查询将来自一个或多个表或查询的字段(列)组合为查询结果中的一
个字段或列。 Eg3.20P128 注意:如果不需要返回重复记录:Union 如果需要返回重复记录:Union All Select语句都必须以同一顺序返回相同数量的字段,对应字段都应具有兼容的 数据类型 2.建立数据定义查询 这种类型的查询创建、删除、更改表或创建数据库中的索引,如Microsoft Access或Microsoft FoxPro表。Access支持的数据定义语句如下表所示。 ·Eg3.22P133 使用CREATE TABLE语句创建“学生情况”表。 CREATE TABLE学生情况 ([学生ID]integer,[姓名]text,[性别]text,[出生日期]date, [家庭住址]text,[联系电话]text,[备注]memo, CONSTRAINT[indexl]PRIMARY KEY([学生ID])): 3.子查询 一个SELECT-FROM-WHERE语句成为一个查询块。将一个查询块嵌套在另一个查询 块的WHERE子句中的查询称为嵌套查询。子查询位于条件语句where中。在以下方面 可以使用子查询: (1)测试子查询的某些结果是否存在 (2)在主查询中查找任何等于、大于或小于由子查询返回的值。 ·EgP1333.22查询并显示“学生”表中高于平均年龄的学生记录。 4.SELECT语句的语法格式如下: SELECT[谓词][显示的字段名或表达式][As别名][,…] FROM表名[,…] [WHERE条件…] [GROUP BY字段名.] [HAVING分组的条件] [ORDER BY字段名[SCDESC]] ·SELECT语句各个部分的含义如下。 ·SELECT:指出所要查找的列。 ·谓词:主要包括ALL、DISTINCT或TOP,可用谓词来限制返回的记录数量。如果没 第三章 -10-
第三章 - 10 - 个字段或列。 Eg 3.20 P128 注意: 如果不需要返回重复记录:Union 如果需要返回重复记录:Union All Select语句都必须以同一顺序返回相同数量的字段,对应字段都应具有兼容的 数据类型. 2.建立数据定义查询 这种类型的查询创建、删除、更改表或创建数据库中的索引,如Microsoft Access或Microsoft FoxPro表。Access支持的数据定义语句如下表所示。 • Eg 3.22 P133 使用CREATE TABLE语句创建“学生情况”表。 • CREATE TABLE 学生情况 ([学生ID] integer, [姓名] text, [性别] text, [出生日期] date, [家庭住址] text, [联系电话] text, [备注] memo, CONSTRAINT [index1] PRIMARY KEY ([学生ID])); 3.子查询 一个SELECT-FROM-WHERE语句成为一个查询块。将一个查询块嵌套在另一个查询 块的WHERE子句中的查询称为嵌套查询。子查询位于条件语句where中。在以下方面 可以使用子查询: (1)测试子查询的某些结果是否存在 (2)在主查询中查找任何等于、大于或小于由子查询返回的值。 • Eg P133 3.22 查询并显示“学生”表中高于平均年龄的学生记录。 4. SELECT语句的语法格式如下: SELECT [谓词] [显示的字段名或表达式] [As 别名] [, …]] FROM 表名 [, …] [WHERE 条件…] [GROUP BY 字段名.] [HAVING 分组的条件] [ORDER BY 字段名 [ASC|DESC]] • SELECT语句各个部分的含义如下。 • SELECT:指出所要查找的列。 • 谓词:主要包括ALL、DISTINCT或TOP,可用谓词来限制返回的记录数量。如果没