access数据库应用教程3,使用查询

上传人:bin****86 文档编号:57292417 上传时间:2018-10-20 格式:PPT 页数:121 大小:623KB
返回 下载 相关 举报
access数据库应用教程3,使用查询_第1页
第1页 / 共121页
access数据库应用教程3,使用查询_第2页
第2页 / 共121页
access数据库应用教程3,使用查询_第3页
第3页 / 共121页
access数据库应用教程3,使用查询_第4页
第4页 / 共121页
access数据库应用教程3,使用查询_第5页
第5页 / 共121页
点击查看更多>>
资源描述

《access数据库应用教程3,使用查询》由会员分享,可在线阅读,更多相关《access数据库应用教程3,使用查询(121页珍藏版)》请在金锄头文库上搜索。

1、第3章 使 用 查 询,学习目标 本章要点 上机练习 习 题,学习目标,查询是Access组织和提取数据的一种重要手段。使用查询,可以将多个表或查询中的数据组织到一起,为应用程序服务。本章将在介绍查询基础知识的同时,重点讲解如何使用查询向导和查询设计器创建查询。,本章要点,查询基础 查询设计器 查询向导 查询中的运算符和函数 高级查询,查 询 基 础,理解查询 查询类型 查询设计工具 SQL Select语句 表联接类型,理解查询,查询可从一个或多个表中检索数据,并可执行各种统计,如求最大值、最小值、总计、计数和平均值等。 查询本质上是SQL Select语句。执行查询时,Access会将表或

2、查询中的数据提取出来,显示在数据表中。数据表中的记录称为动态集。动态集是动态的记录集合,实际的数据保存在数据库的表中。它与表类似,但不是表。Access不会保存动态集,每次在运行查询时,都从底层的表中读取数据并重建动态集,所以动态集中的数据始终是最新的。 在保存查询时,Access保存的是查询的结构:使用的表、字段、排序规则、筛选条件和查询类型等。,查询类型,Access提供了多种查询,包括选择查询、参数查询、交叉表查询、操作查询和SQL查询。 选择查询 参数查询 交叉表查询 操作查询 操作查询,选择查询,选择查询是最简单的一种查询,用于从一个或多个表中提取需要的字段,也可将数据的更新返回底层

3、的表。 在选择查询中,还可使用条件(也称查询准则)来限制查询结果。查询准则对应SQL Select语句中的WHERE和HAVING子句。,参数查询,参数查询在执行时要求输入查询参数,然后按照输入内容执行数据检索。如使用参数查询检索指定班级的学生人数。,交叉表查询,交叉表查询只用一个表或查询作为数据源,从中返回某个字段的统计值(合计、计算或平均值),并将它们分组,一组列在数据表的左侧,一组列在数据表的上部。,操作查询,操作查询用于对多个记录执行批量更新操作,Access共有4种类型的操作查询:删除查询、更新查询、追加查询与生成表查询。 删除查询 删除查询用于对一个或多个表中满足条件的一组记录进行

4、删除操作。如使用删除查询删除在“选课记录”表中出现的无效学号的选课记录。,操作查询,更新查询 更新查询用于对一个或多个表中记录的某些字段执行更新。如将所有学生的成绩统一加10分。 追加查询 追加查询用于将查询结果添加到其他的表中。 生成表查询 生成表查询使用查询结果创建新的表。,SQL查询,SQL查询指用户直接使用SQL语句创建的查询,这类查询通常不能直接在查询设计器中通过图形化的方式创建。SQL查询包括4种方式:联合查询、传递查询、数据定义查询和子查询。 联合查询 联合查询将多个查询结果合并到一起。,SQL查询,传递查询 传递查询指基于远程数据库上的SQL语句进行的查询。这种查询可在不建立连

5、接的情况下直接对服务器中的表进行操作。在Access中,可用ADO对象替代传递查询。 数据定义查询 数据定义查询指使用SQL的数据定义语言(DDL)在查询过程中创建、删除、更改表或创建数据库中的索引。,SQL查询,子查询 SQL的子查询指嵌套在其他查询中的SQL Select语句。,查询设计工具,Access提供了多种查询设计工具,包括查询设计器、简单查询向导、交叉表查询向导、查找重复项查询向导和查找不匹配项查询向导等。 查询设计器 简单查询向导 交叉表查询向导 查找重复项查询向导 查找不匹配项查询向导,查询设计器,在查询的“设计视图”中打开的就是“查询设计器”。使用“查询设计器”可创建各种类

6、型的查询。在创建查询,通常先使用向导创建查询,然后在“查询设计器”中进行修改。,简单查询向导,“简单查询向导”使用一个或多个表或查询作为数据源,可对记录分组,或执行求最大值、最小值、总计、计数和平均值等计算。“简单查询向导”不能设置条件筛选记录。,交叉表查询向导,“交叉表查询向导”用于创建交叉表查询,对记录计算总计、平均值、计数或其他类型总计,然后按照两类信息对结果进行分组:一组信息分布在数据表的左侧,另一组分布在数据表的顶端。,查找重复项查询向导,“查找重复项查询向导”创建的查询为选择查询,在查询结果中返回重复的记录。如在“选课记录”表中查询是否有学生重复选择了同一门课。,查找不匹配项查询向

7、导,“查找不匹配项查询向导”也用于创建选择查询,用于查找与其他表不相关的记录。如查找没有选课的学生信息。,SQL Select语句,在使用设计器或向导创建查询时,Access将查询转换为SQL Select语句。在查询的“SQL视图”中可查看查询的SQL Select语句。 SQL Select基本结构 SELECT子句 使用INTO子句创建新表 使用FROM子句指定数据源 使用WHERE子句定义筛选条件 使用GROUP BY子句对记录分组 使用ORDER BY子句对结果排序 使用联合查询 使用子查询,SQL Select基本结构,SELECT语句的完整语法较复杂,其基本结构如下: SELEC

8、T select_list INTO new_table_name FROM table_list WHERE search_conditions GROUP BY group_by_list HAVING search_conditions ORDER BY order_list ASC | DESC ,SQL Select基本结构,SELECT语句基本结构中包含了7个子句,这些子句的排列顺序是固定的。其中除SELECT子句外,其他子句都可省略,但若出现,则必须按照基本结构中的顺序排列。 SELECT语句中各个子句的作用分别如下: SELECT子句 指定出现在查询结果中的字段,其中selec

9、t_list为选择包含在查询结果中的字段列表,多个字段之间使用逗号分隔。,SQL Select基本结构,INTO子句 指定使用查询结果来创建新表,其中new_table_name指定新表的名称。 FROM子句 指定查询结果中数据的来源。这些来源可能包括表、查询或链接表。 WHERE子句 指定源表中记录的筛选条件,只有符合条件的记录中的字段才可能出现在查询结果中。,SQL Select基本结构,GROUP BY子句 指定在执行查询时,对记录的分组条件,其中在SELECT子句的select_list列表的字段必须包含在group_by_list中。 HAVING子句 指定查询结果的附加筛选。逻辑上

10、讲,HAVING子句从中间结果对记录进行筛选,这些中间结果是用SELECT语句中的FROM、WHERE或GROUP BY子句创建的。HAVING子句通常与GROUP BY子句一起使用,尽管HAVING子句前面不必有GROUP BY子句。,SQL Select基本结构,ORDER BY子句 指定查询结果中记录的排列顺序。order_list指定用于排列记录的字段列表,ASC和DESC关键字用于指定记录是按升序还是按降序排序。,SELECT子句,SELECT子句的作用是从数据源表中选择包含在查询结果中的字段,其语法格式如下: SELECT ALL | DISTINCT | DISTINCTROW

11、TOP n PERCENT * | 表名.* | 字段名 AS 输出名称 使用*返回所有字段 SELECT子句中,*表示从FROM子句指定表中返回所有字段,各字段按表中的顺序返回。,SELECT子句,直接指定字段名 如果只返回表中的部分字段,可在SELECT子句中直接列出字段名称,多个字段使用逗号分隔。例如,下面的查询返回“学生信息”表中所有学生的姓名和学号: SELECT姓名, 学号 FROM 学生信息 如果返回字段出现在多个表中,则必须在字段名之前加上表名进行限定。 定义字段输出名称 查询结果输出的字段默认与原字段名称相同,可用AS指定字段的输出名称。,SELECT子句,在查询结果中输出唯

12、一记录 在SELECT子句中,可用ALL或DISTINCT关键字指定是否输出重复记录。默认为ALL,即输出重复记录;DISTINCT表示不输出重复记录。 DISTINCTROW关键字与DISTINCT类似,DISTINCT用于限制查询结果中的各个字段必须是唯一的,DISTINCTROW则进一步限制记录必须是唯一的,忽略掉重复记录。,SELECT子句,使用TOP控制返回的记录数量 在SELECT子句中,可用TOP n返回前n条记录。n是0,294967295范围内的整数。如果加上PERCENT关键字,则表示返回前百分之n条记录。此时,n必须是0,100范围内的整数。,使用INTO子句创建新表,I

13、NTO子句的语法格式如下: INTO 新表名称 INTO子句使用查询结果创建新表。,使用FROM子句指定数据源,FROM子句的语法格式如下: FROM 表名 INNER | LEFT | RIGHT JOIN 表名ON 条件 FROM子句一般只需指定源表或查询的名称,多个源表或查询用逗号分隔。JOIN关键字用于指定联接类型。INNER JOIN表示内部联接,若使用内部联接,INNER关键字可以省略。LEFT JOIN表示左外联接,RIGHT JOIN表示右外联接。若不指定联接类型,则为交叉联接。 ON关键字指定联接的条件,其格式如下: ON 表名1.字段名1 运算符 表名2.字段名2 运算符包

14、括=(大于)、(大于)、=(大于等于)和(不等)。,使用WHERE子句定义筛选条件,WHERE子句的语法如下: WHERE 筛选条件 筛选条件是一个有效的逻辑表达式。,使用GROUP BY子句对记录分组,GROUP BY子句语法格式如下: GROUP BY 分组字段列表 GROUP BY子句对记录进行分组,从而实现SELECT子句中统计函数(如SUM、COUNT、MIN、MAX和AVG等)的分类计算。,使用ORDER BY子句对结果排序,ORDER BY子句的语法格式如下: ORDER BY 排序字段1 ASC | DESC ,.n ASC表示升序,DESC表示降序,默认为ASC。Access

15、允许指定多个排序字段,其间需用逗号分隔。,使用联合查询,联合查询指使用UNION运算将多个查询结果合并到一起,其语法格式如下: SELECT语句1 UNION SELECT语句2 用UNION合并两个查询必须满足如下条件: 输出字段的数目必须相同。 对应字段的数据类型必须兼容,即在数据类型不同时,可相互转换。 在合并后的查询结果中,字段名称为第一个查询中的字段名称,其他查询的字段名称被忽略。在转换不同类型的对应字段值时,以“容纳最多数据”为基本原则。,使用子查询,子查询指嵌套在其他SQL语句中的SELECT语句,如嵌套在SELECT、INSERT、UPDATE、DELETE语句或其他子查询中。

16、任何允许使用表达式的地方都可使用子查询。 子查询也称为内部查询或内部选择,而包含子查询的语句也称为外部查询或外部选择。通常,子查询作为外部选择的选取条件或者数据来源。 (1)子查询与SELECT语句的使用语法完全相同,但在使用时必须遵守以下原则: 子查询语句使用括号()括起来。,使用子查询,在比较运算中使用的子查询的输出字段最多一个字段。 若外部查询的WHERE子句包括某个字段,则该子句中使用的子查询选择列表中该字段的数据类型必须兼容(在不同时可相互转换)。 使用了GROUP BY的子查询不能使用DISTINCT关键字。 只有在子查询中使用了TOP关键字时,才可以使用ORDER BY子句。,使用子查询,(2)子查询的返回结果可分为3种:单一值、单列的多行数据和多列的多行数据。这3种返回结果对应了不同的使用方法: 直接使用单一的返回结果。例如使用在=、等关系表达式或+、-、*、/等算术表达式中。 使用单列的多行数据作为比较清单。通常使用在IN、ALL或ANY(SOME)运算中,判断某个值是否在比较清单中,运算结果为TRUE或FALSE。 使用多列的多行数据作为测试条件,即使用EXISTS判断是否有返回值,运算结果为TRUE或FALSE。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号