1. 查询概述

查询:对表中的数据进行检索、统计、分析、查看和更改的有一个非常重要的数据库对象。

查询:从不同的表中抽取数据并组合成一个动态数据表,并以数据表视图的方式显示。

查询结果:一个临时的动态数据表。

关闭查询的数据表视图:保存的是查询的结构,并不保存查询结果的动态数据表。

表和查询都是查询的数据源。

表和查询也是窗体、报表的数据源。

建立查询之前,一定要先建立表与表之间的关系。

access里面有五种查询方式:①选择查询②参数查询③交叉表查询④操作查询⑤SQL查询。

选择查询:最常见的查询类型。从一个或多个表中检索数据,并在“数据表视图”中显示结果。

参数查询:有对话框,提示用户在该对话框中输入查询条件的值。然后,根据用户输入条件去执行查询命令,检索出满足条件的记录。

交叉表查询:计算并重新组织数据的结构,这样可以更加方便地分析数据。

操作查询:这种查询只需进行一次操作就可对许多记录进行更改和移动。

操作查询分为四种:①生成表查询②追加查询③更新查询④删除查询。

SQL查询:用户使用SQL语句创建的查询。可以用结构化查询语言(SQL)来查询、更新和管理Access这样的分析数据库。

创建查询的方法:

access变动检测 access动态查询_数据

创建查询的方法

access变动检测 access动态查询_数据_02

2. 创建选择查询

access变动检测 access动态查询_字段_03

创建查询

access变动检测 access动态查询_数据_02

3. 查询的运行和修改

运行查询的六种基本方法。

access变动检测 access动态查询_mysql 查询条件左视图的参数_05

运行查询

修改查询设计。

右击“导航窗格”上查询对象列表中的某个查询,弹出快捷菜单,单击该快捷菜单中的“设计视图”,打开该查询的“设计视图”,便可对该查询的结构设计进行各种更改。

如果所需的数据不在查询中,可以添加一个表或查询,或者如果决定不需要某个表或查询,也可以将其删除。添加了所需的表或查询后,就可以在“设计网格”中添加要使用的字段,在决定不需要这些字段时可以将其删除。可对字段排序分别进行排序设置。也可通过把鼠标指针移到某字段“列选定器”的右边界,使鼠标指针变成双箭头时拖动鼠标的方法来调整查询的列宽等等。

access变动检测 access动态查询_数据_02

4. 查询条件的设置

表达式:

表达式生成器

access变动检测 access动态查询_字段_07

表达式生成器示例d比较运算符

access变动检测 access动态查询_access变动检测_08

比较运算符的示例逻辑运算符

access变动检测 access动态查询_mysql 查询条件左视图的参数_09

逻辑运算符特殊运算符

access变动检测 access动态查询_access变动检测_10

特殊运算符(1)

access变动检测 access动态查询_access变动检测_11

特殊运算符2常用的字符串函数

access变动检测 access动态查询_数据_12

字符串函数1

access变动检测 access动态查询_字段_13

字符串函数2常用的日期时间函数

access变动检测 access动态查询_字段_14

常用的日期时间函数(1)

access变动检测 access动态查询_SQL_15

常用的日期时间函数(2)

设置查询的组合条件

在查询的“设计网格”区,用户可以在多个字段的“条件”单元格(包括“条件”行的单元格和“或”条件行的单元格等)中设置查询条件的表达式。对于多个字段的“条件”单元格中的表达式,Access数据库管理系统会自动使用 And 运算符或者 Or 运算符去组合这些不同单元格中的表达式,构成一个组合条件,以满足复杂查询的需要。

用AND运算符组合条件

access变动检测 access动态查询_SQL_16

AND运算符的一个示例用OR运算符组合条件

access变动检测 access动态查询_字段_17

OR运算符的一个示例用AND和OR两个运算符组合条件

access变动检测 access动态查询_access变动检测_18

AND和OR两个运算符

access变动检测 access动态查询_数据_02

5. 设置查询的计算

在查询中执行计算,可以在查询设计中使用“预定义计算”或“自定义计算”形式来对查询中需要的计算进行相应的设置。

预定义计算:Access通过聚合函数对查询中的分组纪录或全部记录进行“总计”计算,比如求合计平均值、计数、最小值、最大值、标准偏差或方差等。

计算中可用的聚合函数全都可以在查询中的“设计视图”的“涉及网格”区的“总计”行的任一单元格的下拉列表中选择到。

总计计算:

access变动检测 access动态查询_SQL_20

总计计算的例子

access变动检测 access动态查询_字段_21

access变动检测 access动态查询_数据_22

access变动检测 access动态查询_数据_02

6. 交叉表查询

按分类对记录数据作合计、平均值、计数等计算。

这种数据分为两组信息,一类在数据表左侧排列,另一类在数据表的顶端。

access变动检测 access动态查询_数据_02

7. 参数查询

运行时显示“输入参数值”的对话框,提示用户输入信息,用户可在该对话框中输入不同的条件参数值,即可检索到满足条件的记录内容。

access变动检测 access动态查询_数据_02

8. 操作查询

选择查询:不改变原表的数据,并且运行查询时可以显示查询结果。

操作查询:对表中的记录进行成批更改或移动,并且在运行之后,打开数据表才能看到查询的结果。

操作查询:分为生成表查询、追加查询、更新查询、删除查询。

生成表查询:利用一个或多个表的全部或部分数据创建新表。利用生成表查询建立新表时,如果数据库中已有同名的表,则新表将覆盖该同名的表。

追加查询:将一个或多个表中的一组记录添加到另一个已存在的表的末尾。要被追加记录的表必须是已经存在的表。这个表可以是当前数据库中的表,也可以是另外一个数据库中的表。

更新查询:对表中的部分记录或者全部记录做更改。更新查询再一次更新一批数据的操作中非常方便。

删除查询:从一个或多个表中删除一组记录。使用删除查询,将删除整个记录,而不是只删除记录中所选的字段。如果启用级联删除,则可以使用删除查询从单个表中、从一对一关系的多个表中,或一对多关系中的多个表删除相关记录。

access变动检测 access动态查询_数据_02

9. SQL查询

SQL:结构化查询语言。SQL是一种专门针对数据库操作的计算机语言。SQL查询就是使用SQL语句创建的查询。

SELECT语句:对关系数据库的表做选择运算的一个命令,同时也支持表的投影操作。它可以返回指定表中满足条件的记录。

SELECT语句的一般格式:

SELECT  [ALL | DISTINCT | TOP n]  * | | [AS 别名1][, | [AS 别名2]][, …]

FROM [,][, …]

[WHERE ]

[GROUP BY [,][, …] [HAVING ]]

[ORDER BY [ASC | DESC][, [ASC | DESC]] [, …[ASC | DESC]]];

SELECT 语句语法格式的具体说明如下:

(1)语法格式中的方括号“[   ]”表示可选项。

(2) “|”符号表示(由“|”符号所分隔的前、后)两项任选其一。

(3)ALL表示输出全部记录(包括重复记录)。DISTINCT表示输出无重复记录,TOP n 表示输出结果的前n个记录(其中n为正整数)。当省略它们时,默认是ALL。

(4)当选择表中的全部字段时可以使用“*”号通配符来表示。

(5)在指定多个表时,每两个表名之间要用英文逗号分隔开。

(6)在指定多个字段时,每两个字段名之间要用英文逗号分隔开。

(7)如果查询涉及多个表时,为了避免表与表之间使用相同的字段名而产生歧义,在指定字段名时需要在其前面加上表名作为前缀,使用的格式为:表名.字段名。

(8)字段名或计算表达式可以指定别名,指定别名的格式是在SELECT后边紧跟着的字段名或计算表达式之后加上“As 别名”。在产生的记录集中,将使用别名来作为该列的字段名。

(9)如果有 GROUP BY 子句,则将按照指定字段的值进行分组。

(10)如果GROUP BY子句后有HAVING子句,则只输出满足HAVING条件的查询结果。

(11)如果有 ORDER BY 子句,查询结果将按从左到右指定字段顺序并按字段值进行排序,ASC 表示升序,DESC 表示降序。若某指定字段后边省略了 ASC 和 DESC,则该字段默认为升序。

(12)SELECT 命令的语句末尾以英文分号结束。

select语句与查询设计视图栏的对应关系:

access变动检测 access动态查询_access变动检测_27

select语句与查询设计视图栏的对应关系

③select语句的简单查询实例

③select语句实例

④select语句中的函数计算和分组计算实例

使用 SQL 聚合函数,例如 SUM、AVG、MAX、MIN和COUNT等,可用于计算总计,确定各种统计信息。其中的函数SUM和AVG只能对数字型字段进行数值计算。在使用 SQL 聚合函数进行统计时,常常会需要进行分组统计,这就需用上GROUP BY 子句。

⑤select语句中使用having子句示例

GROUP BY [,…] [HAVING ]

若使用了GROUP BY 子句,每组只返回一行结果,所以查询结果显示出来的字段只能是分组字段或用聚合函数统计出来的计算字段。

HAVING子句 是条件筛选。

WHERE 作用于表, HAVING 作用于组,用来指定满足条件的组。

用WHERE选择记录---分组---用HAVING选择组

insert语句:

INSERT语句是用于向表中添加记录的语句,该语句有两种基本的用法,一种是用于添加一个记录,另一种是从其它表向目标表添加一个或多个记录。其语法格式如下。

语法格式1:添加单个记录

INSERT INTO [(字段1[, 字段2[, …]])]

VALUES (值1[, 值2[, ….]]);

语法格式2:添加多个记录

INSERT INTO [(字段1[, 字段2[, …]])]

SELECT [源表.]字段1[, 字段2[, …]]

FROM ;

功能:

在数据库表中添加记录。

update语句:

UPDATE语句用于修改更新数据表中记录的内容。

语法格式:

UPDATE SET

WHERE ;

功能:

对指定的表中满足的记录进行修改。如果省略了WHERE子句,则对该指定表的全部记录进行修改。

说明:

(1)指定要修改的表。

(2)“字段1=值1”表示将的值修改为,涉及多个字段的修改时需要用逗号分隔各个字段修改部分。

(3)用于指定要修改的记录需要满足的条件。

delete语句:

DELETE语句用于删除数据表中的一个或多个记录。它的语法格式如下:

语法格式:

DELETE * FROM WHERE

功能:删除指定表中满足的所有记录。如果省略了WHERE子句,则删除该指定表的所有记录。

说明:

(1)指定要删除记录的表。

(2)指定要删除的记录需要满足的条件。

SQL特定查询:

对于数据定义查询、传递查询、联合查询,不能再设计网格中创建,必须直接在“SQL视图”中创建SQL语句。

数据定义查询:可以创建、删除或修改表,也可以在数据库表中创建索引。

创建表:

access变动检测 access动态查询_数据_28

创建表改变表:

access变动检测 access动态查询_SQL_29

改变表删除表:

access变动检测 access动态查询_数据_30

删除表创建索引:

access变动检测 access动态查询_字段_31

创建索引

子查询:子查询由包含在另一个选择查询或操作查询之内的 SQL SELECT 语句组成。可以在查询“设计视图”的“设计网格”中的“字段”行输入这些语句来定义新字段,或在“条件”行来定义字段的条件。在子查询中还可创建子查询(嵌套子查询)。

在SELECT语句中使用的子查询,是指嵌套于SELECT语句的WHERE子句中的 SELECT 语句这种类型的子查询。

联合查询:联合查询将两个select查询结果合并到一个查询结果中。使用联合查询可以合并两个表中的数据,要求两个select查询结果有相同个数的字段,且数据类型相同。

access变动检测 access动态查询_数据_02