ACCESS查询的创建和使用Word文档下载推荐.docx
《ACCESS查询的创建和使用Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《ACCESS查询的创建和使用Word文档下载推荐.docx(8页珍藏版)》请在冰豆网上搜索。
只要关闭查询,查询的动态集就会自动消失。
4.1.2
查询的类型
在Access
中,查询分为5种,分别是选择查询、交叉表查询、参数查询、操作查询和SQL查询。
5种查询的应用目标不同,对数据源的操作方式和操作结果也不同。
1.选择查询
选择查询是最常用的查询类型。
顾名思义,它是根据指定条件,从一个或多个数据源中获取数据并显示结果。
也对记录进行分组,并且对分组的记录进行总计、计数、平均以及其他类型的计算。
如:
查找1992年参加工作的男教师,统计各类职称的教师人数等。
2.交叉表查询
交叉表查询将来源于某个表或查询中的字段进行分组,一组列在数据表左侧,一组列在数据表上部,然后在数据表行与列的交叉处显示数据源中某个字段统计值。
统计每个系男女教师的人数,要求行标题显示系名,列标题显示性别,表的交叉处显示统计的人数。
3.参数查询
参数查询是一种根据使用者输入的条件或参数来检索记录的查询。
输入不同的值,可以得到不同的结果。
因此,参数查询可以提高查询的灵活性。
可以设计一个参数查询,提示输入两个成绩值,然后Access检索在这两个值之间的所有记录。
4.操作查询
操作查询与选择查询相似,都需要指定查找记录的条件,但选择查询是检查符合特定条件的一组记录,而操作查询是在一次查询操作中对所得结果进行编辑等操作。
操作查询有4种:
生成表查询、删除查询、更新查询和追加查询。
1)生成表查询:
利用一个或多个表中的全部或部分数据建立新表;
2)删除查询:
其执行结果可以直接从一个或多个表中删除记录;
3)更新查询:
可以对一个或多个表中的一组记录进行全面更改;
4)追加查询:
可将一个或多个表中的数据追加到另一个表的尾部。
5.SQL查询
SQL查询是使用SQL语句来创建的一种查询。
SQL查询有4种:
包括联合查询、传递查询、数据定义查询和子查询等。
4.2
选择查询的创建
根据指定条件,从一个或多个数据源中获取数据的查询称为“选择查询”。
创建创建选择查询的方法有两种:
查询向导和设计视图。
前者操作简单方便,后者功能强大、丰富。
4.2.1
使用查询向导
使用查询向导创建查询,操作者可以在向导指示下选择一个或多个表、一个或多个字段,但不能设置查询条件。
例4-1
查找“教师”表中的记录,并显示“姓名”、“性别”、“工作时间”和“系别”4个字段。
例4-2
查找每名学生选课成绩,并显示“学生编号”、“姓名”、“课程名称”和“成绩”等字段。
查询名为“学生选课成绩”。
注意:
在数据表视图显示查询结果时,字段的排列顺序与在“简单查询向导”对话框中选定字段的顺序相同。
故在选定字段时,应考虑按照字段的显示顺序选取。
当所建查询的数据源来自于多个表时,应建立表之间的关系。
4.2.2
使用查询设计视图
查询向导虽然方便,但它不能创建带条件的查询,而对于有条件的查询需要使用查询设计视图来创建。
1.查询设计视图窗口
在Access中,查询有5种视图:
设计视图、数据表视图、SQL视图、数据透视表视图和数据透视图视图。
在设计视图中,既可以创建不带条件的查询,也可以创建带条件的查询,还可以对已建查询进行修改。
打开“查询设计视图”窗口的方法:
1)在“数据库”窗口的“查询”对象中,双击“在设计视图中创建查询”选项,即可。
2)在“数据库”窗口中单击“新建”按钮,从弹出的“新建查询”对话框中双击“设计视图”选项,即可。
“查询设计视图”窗口组成:
上部为“字段列表区”,显示所选表的所有字段;
下部为“设计网格”区,其每一列都对应查询动态集中的一个字段,每一行对应字段字段的属性和要求。
“查询网格”中行的作用:
P97表4-1
2.创建不带条件的查询
例4-3
使用设计视图创建例4-2所要建立的查询。
3.创建带条件的查询
例4-4
查找1992年参加工作的男教师,并显示“姓名”、“性别”、“学历”、“职称”、“系别”和“联系电话”。
如果两个条件是“
或”
关系,应将其中一个条件放在“
行。
例4-5
查找年龄小于19岁的女生,或年龄大于21岁的男生,并显示“姓名”、“性别”和“年龄”。
4.2.3
查询条件
查询条件是运算符、常量、字段值、函数以及字段名和属性等的任意组合,能够计算出一个结果的算式。
查询条件在创建带条件的查询时经常用到。
因此,了解条件的组成,掌握它们的书写方法非常重要。
1.运算符
运算符是构成查询条件的基本元素。
常用的运算符包括:
关系、软件和特殊运算符。
关系运算符及含义(=、<
>
、>
、<
=、<
=)
逻辑运算符及含义(NOT、AND、OR)
特殊运算符及含义
特殊运算符
含
义
In
用于指定一个字段值的列表,列表中的任意一个值都可与查询的字段相匹配
Between
用于指定一个字段值的范围,指定的范围之间用AND连接
Like
用于指定查找文本字段的字符模式。
在所定义的字符模式中,用“?
”表示该位置可匹配任何一个字符,用“*”表示该位置可匹配任何多个字符,用“#”
表示该位置可匹配一个数字,用“[]”描述一个范围,用于可匹配的字符范围
IsNull
用于指定一个字段为空
IsNotNull
用于指定一个字段为非空
2.函数
Access提供了大量的标准函数,如数值函数、字符函数、日期时间函数和统计函数等。
3.使用数值作为查询条件
字段名
条
件
功
能
成绩
<
60
查询成绩小于60的记录
Between80and90
查询成绩在80分~90分之间的记录
=80and<
=90
=60
查询成绩等于60的记录
60or>
90
查询成绩小于60分,大于90分的记录
4.使用文本值作为查询条件
职称
"
教授"
查询职称为教授的记录
or"
副教授"
查询职称为教授或副教授的记录
Right([职称],2)="
姓名
In("
李元"
"
王朋"
)
或
OR"
查询姓名为李元或王朋的记录
NOT"
查询姓名不为李元的记录
Left([姓名],1)="
王"
查询姓王的记录
Len([姓名])<
=2
查询姓名为两个字的记录
课程名称
Right([课程名称],2)="
基础"
查询课程名称最后两个字为基础的记录
学生编号
Mid([学生编号],5,2)="
03"
查询学生编号第5个和第6个字符为03的记录
查询职称为教授的记录,查询条件可表示为:
="
,这里的“=”可以省略,“"
”也可以不加,系统会自动添加。
5.使用计算或处理日期结果作为查询条件
工作时间
Between#1992-01-01#and
#1992-12-31#
查询1992年参加工作的记录
Year([工作时间])=1992
Date()-15
查询15天前参加工作的记录
Between
Date()
and
Date()-20
查询20天之内参加工作的记录
出生日期
Year([出生日期])=1980
查询1980年出生的记录
Year([工作时间])=1999
Month([工作时间])=4
查询1999年4月参加工作的记录
日期常量要用英文“#”号括起来。
6.使用字段的部分值作为查询条件
Like"
计算机*"
查询课程名称以“计算机”开头的记录
*计算机*"
查询课程名称中包含“计算机”的记录
王*"
查询不姓王的记录
7.使用空值或空字符串作为查询条件
空值是使用Null或空白来表示字段的值;
空字符串是用引号括起来的字符串,且双引号中间没有空格。
使用空值或空字符串作为查询条件示例
查询姓名为Null(空值)的记录
查询姓名有值(不是空值)的记录
联系电话
查询没有联系电话的记录
在条件中字段名必须用方括号括起来。
数据类型必须与对应字段定义的类型相符合。
4.3
在查询中进行计算
4.3.1
查询中的计算功能
在Access查询中,可以执行两种类型的计算,预定义计算和自定义计算。
1.预定义计算
预定义计算即“总计”计算,是系统提供的用于对查询中的记录组或全部记录进行的计算,它包括总计、平均值、计数、最大值、最小值、标准偏差或方差等。
单击工具栏上的“总计”按钮“∑”,“设计网格”中显示出“总计”行。
对设计网格中的每个字段都有可在“总计”行的单元格中选择总计项,对查询中的全部记录、一个或多个记录组来进行计算。
总计项含义详见P103表4-10
2.自定义计算
自定义计算使用一个或多个字段的值进行数值、日期和文本计算。
对于自定义计算,必须直接在“设计网格”中创建新的计算字段,创建方法是将表达式输入到“设计网格”中的空字段单元格,表达式可以由多个计算组成。
4.3.2
总计查询(属于预定义计算)
在创建查询时,有时可能更关心的是记录的统计结果,而不是表中记录的具体内容。
例如,某年参加工作的教师人数,每名学生各科的平均成绩等。
为了获取这样的数据,需要使用Access提供的“总计查询”功能。
“总计查询”是在成组的记录中完成一定计算的查询。
使用查询设计视图中的“总计”行,可以对查询中全部记录或记录组计算一个或多个字段的统计值。
例4-6统计教师人数。
操作:
对“教师编号”进行计数。
属于最基本的统计操作,不带任何条件。
实际应用中,往往需要对符合条件的记录进行。
例4-7统计1992年参加工作的教师人数。
在该查询中,由于“工作时间”只作为条件,并不作为分组,所以在“工作时间”的“总计”行上选择了“条件”。
Access规定,“条件”总计项指定的字段不能出现在查询结果中,因此只显示了人数,而没有显示时间。
4.3.3
分组总计查询(属于预定义计算)
在查询中,如果需要对记录进行分类统计,可以使用分组统计功能。
即将记录进行分组,对每个组的值进行统计。
分组统计时,应在该字段的“总计”行上选择“分组”。
例4-8统计各类职称的教师人数。
4.3.4
添加计算字段(属于自定义计算)
为提高一般统计和分组统计结果显示的可读性,可以通过添加新字段的方法,在“设计网格”把能充分说明统计结果内容(或性质)的文本以“字段”名称的形式添加进去。
添加的新字段值是根据一个或多个表中的一个或多个字段并使用表达式计算得到,也称为计算字段。
添加新字段不但可以使显示的结果更加清晰,还可以进行相应的计算。
例4-10
查找平均分低于所在班平均分的学生并显示其班级号、姓名和平均成绩。
假设,班级号为“学生编号”中的前八位。
1.创建计算班平均分的查询
2.创建计算每名学生平均成绩的查询
3.创建查找低于所在班平均分学生的查询
1)查询名和表名需要用方括号括起来;
2)参与计算的字段若来源于表,应在字段名前加上表名,其形式为:
[表名]!
[字段名];
3)参与计算的字段若来源于不同查询,在引用该字段时需要在字段名前加上查询名,中间用“!
”或“.”分开;