《access基础与应用教程ppt课件 第4章 查询》由会员分享,可在线阅读,更多相关《access基础与应用教程ppt课件 第4章 查询(114页珍藏版)》请在金锄头文库上搜索。
1、第 4 章,查询是Access数据库的对象之一,使用查询对象可以将查询命令预先保存,在需要时只要运行查询对象即可自动执行查询中规定的查询命令,从而大大方便用户进行查询操作。,查询,第4章 查询,本章主要内容,退出,4.1 查询概述 4.2 创建选择查询 4.3 查询的运行和修改 4.4 查询条件的设置 4.5 设置查询的计算 4.6 交叉表查询 4.7 参数查询 4.8 操作查询 4.9 SQL查询,4.1 查询概述,在 Access 数据库中,表是存储数据的最基本的数据库对象,而查询则是对表中的数据进行检索、统计、分析、查看和更改的又一个非常重要的数据库对象。 一个查询对象实际上是一个查询命
2、令,实质上它是一个SQL 语句。运行一个查询对象实质上就是执行该查询中规定的SQL 命令。 简单来说,表是将数据(根据规范化的要求)进行了分割,而查询则是从不同的表中抽取数据并组合成一个动态数据表。查询可以从多个表中查找到满足条件的记录组成一个动态数据表,并以数据表视图的方式显示。,查询结果仅仅是一个临时的动态数据表,当关闭查询的数据表视图时,保存的是查询的结构,并不保存该查询结果的动态数据表。 表和查询都是查询的数据源,表和查询也是窗体、报表的数据源。 建立查询之前,一定要先建立表与表之间的关系。,4.1.1 查询的类型,在 Access 中,提供有如下五种类型的 查询: 选择查询 参数查询
3、 交叉表查询 操作查询 SQL 查询,1选择查询,选择查询是最常见的查询类型,它从一个或多个表中检索数据,并且在“数据表视图”中显示结果。也可以使用选择查询来对记录进行分组,并且对记录作合计、计数、平均值等计算。查询结果仅仅是一个临时的动态数据表。 例4-1 在“学生管理系统”数据库的“学生”表里,查找出1986年后(含1986)出生的女学生的姓名、性别和出生日期。使用查询的“设计视图”创建出该查询,其设计视图如图4-1所示。当运行该查询时,以“数据表视图”方式显示出该查询的结果,如图4-2所示。,图4-2 查询结果,图4-1 “设计视图”,2参数查询,参数查询是这样一种查询,它在运行时先显示
4、“输入参数值”对话框,提示用户在该对话框中输入查询条件的值,然后,根据用户输入条件去执行查询命令,检索出满足条件的记录。 例4-2 在“学生管理系统”数据库的“修课成绩”表里,根据临时输入的“学号”查找出该学生的各课程的成绩。使用查询的“设计视图”创建出该查询(该查询名为“例4-2”),当运行查询时,显示出“输入参数值”的对话框。,3交叉表查询,使用交叉表查询可以计算并重新组织数据的结构,这样可以更加方便地分析数据。交叉表查询可以对记录作合计、平均值、计数等计算,这种数据可分为两组信息:一类在数据表左侧排列,另一类在数据表的顶端。 例4-3 在“学生管理系统”数据库的“学生”表中,统计出各班男
5、、女学生的人数。使用查询的“设计视图”创建出该查询,当运行查询时,以“数据表视图”方式显示出该交叉表查询的结果。,4操作查询,操作查询是这样一种查询,使用这种查询只需进行一次操作就可对许多记录进行更改和移动。有如下四种操作查询: 生成表查询 追加查询 更新查询 删除查询。,5SQL 查询,SQL查询是用户使用 SQL 语句创建的查询。可以用结构化查询语言 (SQL) 来查询、更新和管理 Access 这样的关系数据库。在查询的“设计视图”中创建查询时,Access 将在后台构造等效的 SQL 语句。 可以在“ SQL 视图”中查看和编辑 SQL 语句。但是,在对 SQL 视图中的查询做更改之后
6、,查询可能无法以以前在“设计视图”中所显示的方式进行显示。 有一些 SQL 查询,称为“SQL 特定查询”,无法在 “设计视图” 的设计网格中进行创建,如传递查询、数据定义查询和联合查询,都必须直接在 “SQL 视图” 中创建 SQL 语句。,图4-5 例4-1查询的“SQL视图”,4.1.2 创建查询的方法,在“创建”选项卡上的“查询”组中有“查询向导”和“查询设计”两个按钮,如图4-6所示,可用于创建查询。单击“查询向导”按钮,则显出“新建查询”对话框。,图4-6“创建”选项卡上的“查询”组,图4-7 “新建查询”对话框中 四种创建查询向导,4.2 创建选择查询,选择查询的功能是从一个或多
7、个表中检索数据,并且在“数据表视图”中显示结果。查询结果仅仅是一个临时的动态数据表。,4.2.1 使用向导创建查询,Access提供了向导功能以帮助用户方便快速创建简单的查询对象。使用向导创建查询对象的步骤如例4-4 和例4-5 所述。 单击“创建”选项卡上的“查询”组中的“查询向导”按钮,显出“新建查询”对话框。 例4-4 在“学生管理系统”数据库中,用“学生”表创建一个名为“例4-4学生高考总分查询”的查询。该查询只要求显示学号、姓名、性别和高考总分四个字段。 例4-5 在“学生管理系统”数据库中,用“学生”表创建一个名为:“例4-5男女学生平均高考总分查询”的查询。,4.2.2 在设计视
8、图中创建查询,单击“创建”选项卡上的“查询”组中的“查询设计”按钮,打开查询“设计视图”。 查询的“设计视图”分为上、下两部分,上半部分称为“字段列表”区,显示所选定的数据源表或查询(注意:查询也可作为查询的数据源)的所有字段。下半部分称为“设计网格”区,用于确定查询结果动态集所拥有的字段、排序和检索条件等。,在“设计网格”中需要设置如下内容: (1)字段:设置查询所涉及的字段。 (2)表: 字段所属的表。 (3)排序:查询的排序准则(如升序或降序)。 (4)显示:当复选框选中时,字段将在查询结果中显出,否则,在查询结果中不显出。 (5)条件:设置检索记录的条件(也称为准则)。 (6)或: 设
9、置检索记录的条件(也称为准则)。,在设计视图中创建查询(例4-6 ),例4-6 在“学生管理系统”数据库中,使用“设计视图”创建一个名为“例4-6查询高考总分750分以上的女生”的查询。查询要求是:对“学生”表,检索高考总分750分以上(含750)的女学生的记录,并要求按高考总分降序进行排序,仅要求显示学号、姓名、班级号、性别和高考总分五个字段。,4.3 查询的运行和修改,运行查询实际上就是打开该查询的“数据表视图”,以表格形式显出该查询结果的动态集记录数据。 修改查询实际上就是打开该查询的“设计视图”,对查询所涉及的字段及条件等进行设计修改。,4.3.1 运行查询的基本方法,运行查询的六种基
10、本方法: (1)打开某查询的“设计视图”,单击“查询工具”下的“设计”选项卡的“结果”组中的“运行”按钮。 (2)打开某查询的“设计视图”,单击“查询工具”下的“设计”选项卡的“结果”组中的“视图”(默认是“数据表视图”)按钮。 (3)打开某查询的“设计视图”,右击该“设计视图”中的空白处,弹出快捷菜单,单击该快捷菜单中的“数据表视图”。 (4)双击“导航窗格”上的查询对象列表中要运行的查询名称。 (5)右击“导航窗格”上的查询对象列表中要运行的查询名称,弹出快捷菜单,单击该快捷菜单中的“打开”。 此外还有其他的运行查询方法,如在“宏”中运行查询的方法。,4.3.2 修改查询设计,右击“导航窗
11、格”上查询对象列表中的某个查询,弹出快捷菜单,单击该快捷菜单中的“设计视图”,打开该查询的“设计视图”,便可对该查询的结构设计进行各种更改。 如果所需的数据不在查询中,可以添加一个表或查询,或者如果决定不需要某个表或查询,也可以将其删除。添加了所需的表或查询后,就可以在“设计网格”中添加要使用的字段,在决定不需要这些字段时可以将其删除。可对字段排序分别进行排序设置。也可通过把鼠标指针移到某字段“列选定器”的右边界,使鼠标指针变成双箭头时拖动鼠标的方法来调整查询的列宽等等。,例4-7 (修改查询设计 的例子),例4-7 在“学生管理系统”数据库中,对已经创建好的名为“例4-6查询高考总分750分
12、以上的女生”的查询对象进行“复制”操作、“粘贴”操作,产生出一个新的名为“例4-7查询高考总分750分以上的学生”查询。然后对新建的“例4-7查询高考总分750分以上的学生”查询的设计按如下要求进行修改,该查询要求是:检索高考总分750分以上(含750)的学生记录,并要求按“性别”升序、“高考总分”降序对查询结果的记录进行排序(即先按“性别”字段值升序排序,当“性别”字段值相同时再按“高考总分”字段值降序排序),并要求显示学号、姓名、班级名称、性别和高考总分五个字段。 提示:对于要求显示“班级名称”字段,故需要先在该查询的“设计视图”中添加“班级”表,然后,在“设计网格”区,把原来的“学生”表
13、的“班级号”字段更改为“班级”表的“班级名称”字段。其他更改按查询要求进行相应的设置。,例4-7 (续),修改前,修改后,4.4 查询条件的设置,创建查询时,通过对字段添加限制条件,使查询结果中只包含满足查询条件的数据。,4.4.1 表达式,在查询的“设计视图”中,若要对“设计网格”区中的某个字段指定条件,就可在该字段的“条件”单元格中直接输入一个表达式。 表达式是运算符、常数、函数和字段名称等的任意组合。表达式可执行计算,其计算结果为单个值。对于较复杂的表达式,当光标处于该字段的“条件”单元格时,单击“查询工具”下的“设计”选项卡中的“查询设置”组上的“生成器”按钮,打开表达式生成器,在表达
14、式生成器中构造表达式,如图4-31所示。在输入表达式时,除了汉字以外,其他所有字符必须是在英文输入法状态下输入。,图4-31 表达式生成器示例,4.4.2 比较运算符,对于比较运算符来说,要比较的数据的数据类型必须匹配。也就是说,文本只能与文本比较,数字只能与数字比较,等等。可以使用函数临时将数据转换为其他数据类型,然后再作比较。比较运算符的含义、示例等信息如表4-1所示。,表4-1 比较运算符,4.4.3 逻辑运算符,使用下表中列出的标准逻辑运算符,可以组合或修改搜索条件。逻辑运算符的优先级从高到低依次是Not、And、Or。逻辑运算符的含义、示例等信息如表4-2所示。,4.4.4 特殊运算
15、符,4.4.4 特殊运算符(续),4.4.4 特殊运算符(续),注意 在设计网格区的条件单元格中,表达式 BETWEEN #1986-1-1# AND #1987-12-31# 等价于表达式: =#1986-1-1# AND =#1987-12-31#,4.4.5 常用字符串函数,4.4.5 常用字符串函数(续),4.4.6 常用日期时间函数,4.4.6 常用日期时间函数(续) p85,4.4.7 设置查询的组合条件,在查询的“设计视图”中的“设计网格”区,“条件”行、“或”条件行以及“或”行下边紧接着的若干空白行的单元格,均可用来设置查询条件的表达式。 在查询的“设计网格”区,用户可以在多个
16、字段的“条件”单元格(包括“条件”行的单元格和“或”条件行的单元格等)中设置查询条件的表达式。对于多个字段的“条件”单元格中的表达式,Access数据库管理系统会自动使用 And 运算符或者 Or 运算符去组合这些不同单元格中的表达式,构成一个组合条件,以满足复杂查询的需要。,1用And 运算符组合条件,在查询的“设计网格”区,如果仅在同一条件行的不同单元格中设置了条件的表达式,表示这些在不同单元格中设置的条件都必须要同时满足的。 Access自动用 And 运算符去组合这一条件行中的不同单元格中的条件表达式,构成一个组合条件,表示要筛选满足该条件行所有(设置了条件的)单元格的条件的记录。,例4-9 ( 用And 运算符组合条件例子),例4-9 查询高考总分750分以上(含750)的男学生的学号、姓名、性别和高考总分。,用And 运算符组合条件,SQL视图,设计视图,2用Or 运算符组合条件,在查询的“设计视图”的“设计网格”区,如果在每一条件行中仅有一个字段的“条件”单元格(包括“条件”行的单元