Access使用入门(二)
1、 什么是Access查询:
Access中的查询功能是非常强大的,几乎所有的常用的查询方式都能方便快捷地实现。利用查询可以通过不同的方法查看、更改和分析数据,也可以将查询作为窗体和报表的记录源。
一般来说Access查询就是明确的规范集,可以准确地查找到用户所希望查看的信息,并按照用户所期望的结果对搜索到的信息进行排序和处理。
查询运行结果是动态子集,一般说来,如果对查询中的数据进行更改,则Access会对提供基本信息的表中的数据进行同样的更改。
1、查询的种类:
选择查询:最常见的查询类型,从数据库的一个或多个表中提取特定信息,并且在可以更新记录的数据表中显示结果。用户也可以使用选择查询对记录进行分组,并对记录进行总计、计数、平均值以及其他类型的计算。
特殊查询:指的是参数查询和交叉表查询。参数查询在执行时可以显示用户自定义的对话框以提示用户输入信息以完成查询。交叉表查询可以计算并重新组织数据的结构,可以更方便地分析数据。
操作查询:使用操作查询只需进行一次操作就可以对许多记录进行更改和移动。操作查询又分为删除查询、更新查询、追加查询、生成表查询。
SQL查询:使用SQL语句创建的查询。实际上,以上的大多数查询属性在SQL视图中都有等效的可用子句和选项。
2、查询的用途:
①查看按特定顺序排列的来源于多个数据表的数据。(例:欠费名单查询)
②对选择的记录组进行多种类型的计算。(例:网站评比查询)
③查找并显示重复和不匹配的记录。(例:生源地的重复项)
④更新数据、删除记录或在数据表中追加新记录
⑤利用一个或多个数据表中的数据创建一个新表
3、查询
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
窗口:
和数据表一样,查询可以在多种视图中进行查看,包括数据表视图和设计视图、SQL视图。
在“查询设计”窗口中有两个分区:上面的窗格是“表窗格”,显示查询中所有表的字段列表:下面的窗格是查询设计网格,显示查询设计的所有元素,包括如字段名、表名、总计、排序、显示、条件等。
2、 创建选择查询
在Access中选择查询是最常用的查询类型。这类查询首先提出问题,然后根据问题选择显示所需的信息。
1、使用“简单查询向导”创建查询:
我们以“学生评估记录”的表为例子,进行一个简单查询,步骤如下:
第一步,在数据库窗口的“查询”页面中单击“新建”按钮,打开“简单查询向导”的第一个对话框。
第二步:在该对话框中的“表/查询”列表框中选择“表:学生评估记录”,第三步:在“可用字段”列表框中选中需要的字段后单击>,所选字段就加入到“选定的字段”列表框中,点击下一步。
第四步:如果你选中的字段中有数字或货币等类型的字段时,就会弹出以上窗口让你选择是直接查看结果明细还是要对数据进行进一步的汇总。这里我们选择汇总,接着点击汇总选项进行相应设置。第五步: 这里我们选择内容1的汇总值,内容2的平均值,内容3的最小值,内容4的最大值,同时选中右下角的记录数统计,按确定。
第六步:为查询命名,最后按完成查看结果明细。
2、自定义创建“选择查询”:
简单查询向导的使用存在较大的局限性,最好的办法还是在Access的图形化“查询设计”窗口中自定义创建查询。
· 在“数据库”窗口的“查询”页面中单击“新建”按钮,打开“新建查询”对话框。选择“设计视图”并单击“确定”按钮,打开“显示表”对话框,从中选择需要建立查询的表和查询。这里我们选择“常住人口登记表”。
· 双击字段表中需要的字段名,加入到“设计网格”的“字段”行和“表”行,如果不希望在查询结果中显示某个字段,只需要将“显示”行中对应字段的复选标志取消。
· 如果希望在查询结果中对某个字段进行排序,只需在“排序”行中选择对应字段的排序方式,Access将对最左边的字段进行排序,然后逐渐向右,依此类推。
· 在“条件”中可以输入相应字段的条件值,如在姓名字段下输入:like “郑*”,就会显示姓郑的学生的值。
· 还可以在工具栏上“上限值”设置在结果中包括的记录数目或百分比。
· 对于需要进行汇总的字段,可以添加汇总表达式。单击工具栏上的∑,“设计窗格”中会增加一个“汇总”行。单击“汇总”行中对应字段网格右侧的倒三角,在下拉列表中选择需要的汇总表达式。
· 用户可以自定义查询的字段名,先将光标插入点置于单击格中的第一个字符处,然后输入新的列标题并在其后添加一个半角冒号(:),其间不要添加任何空格。例如将“姓名”改成“VIP”就写成:VIP:姓名。
· 添加到查询网格中的字段继承基本数据表和查询的字段属性,可以在新查询设计中更改其中的某些字段属性。右击字段,在弹出的菜单中选择“属性”。
· 查询设计过程中,如果希望查看结果是否按需要的方式获取信息,则最好的办法就是运行查询。单击工具栏上的“运行”按钮,就可以看到运行的结果了。也可以单击工具栏上的“保存”按钮,将查询设计保存起来。
3、 查询中的联接
Access2003具有自动联接的功能,即用户在查询中添加表或查询时,即使没有为它们指定任何关系,但只要满足某些关系,Access都会自动为其指定联接关系。当然用户也可以在查询设计视图中自行指定表或查询间的联接关系。
自动联接:如果添加到查询中的两个表都含有一个相同或兼容数据类型的字段,并且这两个联接字段中有一个是主键,则Access将自动为其创建联接。例如:我们希望看到学生评估的情况与学生的基本资料联系起来时,我们依照上面介绍的步聚,先新建一个查询,选择“设计”视图,在显示表中选择学生评估记录和全院学生资料这两个表后,由此两者都有“学号”这个数据类型都一样的字段,并且在全院学生资料中“学号”这个字段是主键,所以系统就自动为他们建立了联接。当然也可以手动拖动一个表中的字段到另一个表中的等效字段手动建立联接。
4、 设置查询的选择条件
Access中按照不同条件创建的查询可以获得不同的结果,在查询中加入条件可以更为准确地查找到满足不同要求的记录,灵活地运用条件可以大大提高查询的效率。
1、表达式生成器:
运用表达式生成器可以方便地设置各种复杂条件。在查询中,右击需要输入表达式的单元格并从菜单中选择“表达式”,就可以打开“表达式生成器”。
“表达式生成器”分为上下两个部分,上面是输入表达式的地方,下面由分为三级的表达式元素构成,中间的按钮行则提供了快速添加一些常用的运算符的方法。
2、表达中的几种常用符号:
表达式(半角)
说明
+、-、*、/
代表数学运算中的加、减、乘、除
&
连接两个表达式,如:“天”&“地”,显示结果就是“天地”
=、>、<、<>
代表“等于”、“大于”、“小于”、“不等于”,用于判断某个条件是否满足。
And、Or、Not
代表“且”、“或”、“非”,逻辑运算符,用来连接多个条件表达式
Like
对一个字符型的值进行逻加判断,判断这个值是否满足某种格式类型,常要跟一些别的符号一起使用:“?”、“*”、“#”、“[]”、“[!]”
[]
表或字段名前后的方括号,如:[学生评估记录].[内容2]
#
用于日期类型字段前后的数字符号,如:#1985-9-1#
“”
用于文本类型字段前后的双引号,如:“林某某”
Is Null、Is Not Null
空值/非空值
3、设置单重和多重条件
设置单重条件时只需将条件表达式直接添加到查询设计网格的“条件”单元格中。
也可以使用and和or运算符组合多重条件进行查询,使用AND要求必须同时满足所有条件记录才会包含在查询结果中;使用OR则满足其中的任一条件的记录都将包含在查询结果中。
在查询设计视图的条件栏中,横向的关系表示and的关系,纵向的关系表示的是or的关系。
图中的条件表达式表示:(内容2之平均值)>4 AND (学生评估记录之计数)>150 OR (学生评估记录之计数)<10。
4、巧用计算字段
计算字段是指将记录中不同字段的值组合起来从而创建一个新的字段,通常也称为横向计算。
例如图中:我们把字段“期末成绩”乘以70%再加上字段“平时成绩”乘以30%的值生成一个名为“总成绩”的新字段。
5、数据汇总
在前面讲过利用“简单查询向导”时,对于含有“数字”、“货币”、“日期/时间”类型的字段可以创建汇总字段。其实我们还可以利聚合函数进行汇总,并分别计算每组的汇总数据值。
· 在查询设计窗口中右击需要进行汇总的字段,在弹出的菜单中选择“汇总”命令,将“总计”行添加到设计网格。
· 单击需要汇总字段的“汇总”行单元格右侧下拉箭头,从下拉列表中选择汇总方式。
· 如果要用两种方式对同一字段进行汇总,则需要在设计网络中插入该字段的另一备份,如图中要对“内容质量”字段进行“总计”和“平均值”两种汇总,则需在第一个“内容质量”字段选择“总计”,在第二个“内容质量”字段选择“平均值”。
· 最后点击“运行”按钮,查看查询结果。
在“总计”下拉列表中共有12个汇总选项:7个用于数学计算,2个返回特定记录,还有3个表示字段的其他用途。下表总结了各个汇总选项的汇总结果和适用的字段类型。
汇总选项
汇总结果
适用字段类型
Sum(总计)
计算字段中的所有值的和
数字、日期/时间、货币、自动编号
Avg(平均值)
计算字段的平均值
数字、日期/时间、货币、自动编号
Min(最小值)
返回字段中全部值的最小值
文本、数字、日期/时间、货币、自动编号
Max(最大值)
返回字段中全部值的最大值
文本、数字、日期/时间、货币、自动编号
Count(计数)
返回字段中值的数量,空值不计
全部
StDev(标准差)
计算字段值的标准偏差
数字、日期/时间、货币、自动编号
Var(方差)
计算字段值的方差
数字、日期/时间、货币、自动编号
First(第一条记录)
返回查询结果中第1个记录的字段值
全部
Last(最后一条记录)
返回查询结果中最后1个记录的字段值
全部
Group By(分组)
定义执行计算的组
Expression(表达式)
创建表达式中包括聚合函数的计算字段
Where(条件)
指定不用于分组的字段的选择条件,默认情况下该字段不可见。
我们举个复杂的例子来具体说明总计的作用:上图为查询中文系学生参与的课程评估的具体情况。因为这个涉及到参加学生的具体资料,所以我们要运行到“学生评估记录”和“全院学生资料两个表”,首先在查询设计里选择这两个表,系统自动建立两个表的联链,再设定按评估课程和系进行分组,系的条件设定为“中文系”,“评估内容1”查看平均值,“评估内容2”查看最小值,“评估内容3”进行计数,最后把四项评估内容进行相加得到总分,并计算总分的平均值,并限制总分必须大于15的记录,最后按评估课程ID升序和总分降序进行排序,点击运行,查看最后结果。
1