第03章 查询的创建与使用_第1页
第03章 查询的创建与使用_第2页
第03章 查询的创建与使用_第3页
第03章 查询的创建与使用_第4页
第03章 查询的创建与使用_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章查询的创建与使用

当数据库中保存了大量的记录后,要手动查找数据就显得很麻烦。因此,Access2003提供了多种查询功能,帮助用户快速检索满足特定条件的数据,并能将结果重新组合,保存到查询表中,方便用户查看。本章将介绍创建与使用查询的方法。查询的类型通过向导创建查询通过设计器创建查询创建与应用高级查询3.1查询的类型Access2003提供了多种查询类型,包括选择查询、参数查询、交叉表查询、操作查询以及SQL查询。本节将对各种查询类型的概念和用途进行介绍。3.1.1选择查询选择查询是最基础的查询类型,它能够根据用户设置的条件,从一个或多个记录表中检索记录,并在查询表中显示检索结果。此外,还可以将记录分组,计算总和、计数、平均值及其他类型的总计,以及将多个表的数据汇总到一起,并按特定次序排序。例如,可以使用选择查询检索某种库存商品记录。3.1.2参数查询当需要多次执行同一类型的查询,但每次检索的数值都不同时,可以选择参数查询。参数查询是一种交互式的查询,具有一次创建,多次使用的特点。创建参数查询时,必须提供查询显示的提示并指定参数的数据类型。运行查询时会弹出对话框,提示用户输入查询条件,然后根据条件检索并返回结果。用户可以创建多个查询对话框来获得更精确的检索结果,例如可以设计在查询时弹出两个对话框,提示用户输入两个不同的日期值,然后检索两个日期值之间的所有记录。3.1查询的类型3.1.3交叉表查询当针对的重点不同时,为了更方便地查看表格中的数据,用户可以选择交叉表查询方式。使用交叉表查询可以重新调整表格的结构,屏蔽无关的数据,并能根据用户指定的方式对数据进行统计运算,从而方便查看和分析记录。例如,可以对商品的销售情况进行交叉表查询,了解哪种商品的销量最好。3.1.4操作查询操作查询主要用于批量删除、更改和移动记录,可以分为四个类别,分别介绍如下:删除查询:主要用于从一个或多个表中查找并删除记录。例如,可以使用删除查询来删除已经清空的库存产品记录。值得注意的是,删除查询会删除整个记录,而不是记录中的字段。更新查询:主要用于批量更改数据表中的字段值。例如,数据表中包含了【单价】字段时,可以使用更新查询同时更新所有商品的单价。3.1查询的类型追加查询:主要用于追加记录,将源数据表中的记录添加到目标数据表的末尾。例如,借出某本书后,可以将书籍资料追加到已借图书数据表中。生成表查询:主要用于提取一个或多个表中的部分或全部记录,新建数据表。3.1.5SQL查询

SQL查询即使用SQL语句创建的查询,SQL语句提供了丰富的数据库管理功能,并且允许用户灵活组合成具备特定功能的表达式。

Access2003简化了创建SQL查询的过程,允许用户在查询设计视图中创建查询,同时程序在后台自动构造等效的SQL语句。在有需要时,用户也可以直接通过“SQL”视图查看和编辑SQL语句。值得注意的是,某些SQL查询并不能在查询设计视图中创建。例如,对于传递查询、数据定义查询和联合查询,必须直接在“SQL”视图中创建SQL语句;对于子查询,要在查询设计视图的“字段”行或“条件”行中输入SQL语句。3.2通过向导创建查询

为了方便用户创建特定类型的查询,Access2003提供了查询向导,可以创建包括简单查询、交叉表查询、查找重复项查询、查找不匹配项查询在内的多种类型的查询。本节将详细介绍通过向导创建查询的方法。3.2通过向导创建查询3.2.1使用简单查询向导使用“简单查询向导”时,用户只需指定查询时引用的数据表以及使用的字段,即可通过选中的字段创建选择查询。下面将使用“简单查询向导”,创建一个包含“联系人ID、名字”的选择查询,具体操作步骤如下。(1)从光盘中打开“..\Example\Ch03\3.2.1.mdb”练习文件,然后在【数据库】窗口的【对象】栏中单击【查询】按钮,接着单击窗口上方的【新建】按钮,如图1所示。(2)打开【新建查询】对话框后,选择【简单查询向导】选项,然后单击【确定】按钮,如图2所示

(3)打开【简单查询向导】对话框后,在【表:查询】列表框中选择要查询的数据表,然后在【可用字段】列表框中选择【联系人ID】选项,接着单击【添加】按钮,如图3所示。2133.2通过向导创建查询(4)依照步骤3的方法,将【名字】和【单位电话】字段添加到【选定的字段】列表框中,完成后单击【下一步】按钮,如图1所示。(5)进入最终设置界面后,在【请为查询指定标题】文本框中输入查询表名称,然后选择【打开查询查看信息】单选项,接着单击【完成】按钮,如图2所示。(6)此时将打开【联系人查询表】查询表,用户可以通过表格查看或编辑查询结果,完成后单击【关闭】按钮即可,如图3所示。1323.2通过向导创建查询3.2.2使用交叉表查询向导使用“交叉表查询向导”时,需要指定作为行标题和列标题的字段,以及选择要统计的字段和统计时使用的函数。下面介绍使用“交叉表查询向导”计算客户购物量的方法,具体操作步骤如下。(1)从光盘中打开“..\Example\Ch03\3.2.2.mdb”练习文件,然后在【数据库】窗口的【对象】栏中单击【查询】按钮,接着单击窗口上方的【新建】按钮。(2)打开【新建查询】对话框后,选择【交叉表查询向导】选项,然后单击【确定】按钮,如图1所示。(3)打开【交叉表查询向导】对话框后,在【视图】栏中选择【表】单选项,然后在上方的列表框中选择包含了查询字段的数据表,接着单击【下一步】按钮,如图2所示。213.2通过向导创建查询(4)进入下一设置后,在【可用字段】列表框中选择要作为行标题的字段,然后单击【添加】按钮,添加完成后单击【下一步】按钮,如图1所示。(5)进入下一设置后,在【请确定用哪个字段的值作为列标题】列表框中选择【商品名称】选项,然后单击【下一步】按钮,如图2所示。(6)进入下一设置后,在【字段】列表框中选择【数量】选项,然后在【函数】列表框中选择【求和】选项,接着单击【下一步】按钮,如图3所示。(7)进入最终设置后,在【请指定要查询的名称】列表框中输入查询表的名称,然后单击【完成】按钮,如图4所示(8)此时将打开【商品订购表_交叉表】查询表,表中列出了用户订购的单种书籍的总数,以及每个用户订购书籍的总数。查看或编辑完毕后单击【关闭】按钮将其关闭即可,如图5所示。213453.2通过向导创建查询3.2.3使用查找重复项查询向导使用“查找重复项查询向导”,可以在单个数据表或查询表中检索具有重复字段值的记录。下面介绍使用“查找重复项查询向导”检索重复客户资料的方法,具体操作步骤如下。(1)从光盘中打开“..\Example\Ch03\3.2.3.mdb”练习文件,然后在【数据库】窗口的【对象】栏中单击【查询】按钮,接着单击窗口上方的【新建】按钮。(2)打开【新建查询】对话框后,选择【查找重复项查询向导】选项,然后单击【确定】按钮,如图1所示。(3)打开【查找重复项查询向导】对话框后,在【视图】栏中选择【表】单选项,然后在列表框中选择要查询的数据表,接着单击【下一步】按钮,如图2所示。213.2通过向导创建查询(4)进入下一设置后,在【可用字段】列表框中选择【名字】选项,然后单击【添加】按钮将其添加到【重复值字段】列表框中,接着单击【下一步】按钮,如图1所示(5)进入下一设置后,在【可用字段】列表框中选择【联系人ID】选项,然后单击【添加】按钮将其添加到【另外的查询字段】列表框中,接着单击【下一步】按钮,如图2所示。(6)进入最终设置后,在【请指定查询的名称】文本框中输入查询表名称,然后单击【完成】按钮,如图3所示。其后将打开【通讯录-重复查询】窗口,查看或编辑完毕后单击【关闭】按钮将其关闭即可,如图4所示。12343.2通过向导创建查询3.2.4使用查找不匹配项查询向导

通过“查找不匹配项”查询,可以从指定的数据表中检索那些在另一个数据表中没有相关记录的记录(行)。例如,可以通过检索客户资料表和商品订购表查询没有订购任何商品的客户。

使用“查找不匹配项查询向导”时,需要指定待检索的两个数据表,以及从两个表中选择匹配比较的字段。下面介绍使用“查找不匹配项查询向导”在两个表中检索不匹配项的方法,具体操作步骤如下。1

(1)从光盘中打开“..\Example\Ch03\3.2.4.mdb”练习文件,然后在【数据库】窗口的【对象】栏中单击【查询】按钮,接着单击窗口上方的【新建】按钮。(2)打开【新建查询】对话框后,选择【查找不匹配项查询向导】选项,然后单击【确定】按钮,如图1所示。3.2通过向导创建查询(3)打开【查找不匹配项查询向导】对话框后,在【视图】栏中选择【表】单选项,然后在列表框中选择“客户资料表”数据表,接着单击【下一步】按钮,如图1所示。(4)进入下一设置后,在【视图】栏中选择【表】单选项,然后在列表框中选择“客户资料表”数据表,接着单击【下一步】按钮,如图2所示。(5)进入下一设置后,在【“客户资料表”中的字段】列表框中选择【名字】选项,然后在【“商品订购表”中的字段】列表框中选择【名字】选项,接着单击【匹配】按钮,设置完成后单击【下一步】按钮,如图3所示。2313.2通过向导创建查询(6)进入下一设置后,单击【添加所有】按钮,将所有字段添加到查询表中,接着单击【下一步】按钮,如图1所示。(7)进入最终设置后,在【请指定查询名称】文本框中输入查询表名称,然后单击【完成】按钮,如图2所示。其后将打开【客户资料-不匹配】窗口,查看或编辑完毕后单击【关闭】按钮将其关闭即可,如图3所示。2313.3通过设计器创建查询

通过向导创建查询虽然方便,但是操作不够直观,功能上也受到一定的限制。因此本节将介绍通过设计器创建查询的方法,包括创建选择查询、创建生成表查询以及创建交叉表查询。3.3.1创建选择查询

(1)从光盘中打开“..\Example\Ch03\3.3.1.mdb”练习文件,然后在【数据库】窗口的【对象】栏中单击【查询】按钮,接着双击窗口中的【在设计视图中创建查询】选项,如图1所示。

(2)打开【查询1:选择查询】窗口并弹出【显示表】对话框后,在对话框的【表】选项卡中选择【员工资料表】选项,然后单击【添加】按钮,将“员工资料表”添加到【查询1:选择查询】窗口中,如图2所示。213.3通过设计器创建查询(3)参照步骤2的方法,将“职位登记表”添加到【查询1:选择查询】窗口中,添加完成后单击【关闭】按钮,如图1所示。(4)返回【查询1:选择查询】窗口后,双击【员工资料表】窗格中的【员工ID】选项,将其添加到下方的查询表中,如图2所示。(5)单击【排序】行中与【员工ID】字段对应的单元格,然后单击单元格右侧的【下拉列表】按钮,接着在打开的列表中选择【升序】排列顺序,如图3所示。(6)参照步骤4-5的方法,将其余要查询的字段添加到查询表中,结果如图4所示。21343.3通过设计器创建查询(7)单击Access工具栏中【视图】按钮右侧的【下拉列表】按钮,然后在打开的列表中选择【数据表视图】选项,如图1所示。(8)打开【查询1:选择查询】窗口后,用户即可查看或编辑查询结果,完成后单击【关闭】按钮将其关闭,如图2所示。弹出【另存为】对话框后,在【查询名称】文本框中输入查询表名称,最后单击【确定】按钮即可,如图3所示。2133.3通过设计器创建查询3.3.2创建生成表查询

生成表查询可以使用指定数据表中的数据生成新的数据表。创建查询时,如果新建的数据表与原数据表同名,将会覆盖原数据表。本小节将介绍通过设计器创建生成表查询的方法,具体操作步骤如下。(1)从光盘中打开“..\Example\Ch03\3.3.2.mdb”练习文件,然后在【数据库】窗口的【对象】栏中单击【查询】按钮,接着双击窗口中的【在设计视图中创建查询】选项,如图1所示。(2)打开【查询1:选择查询】窗口并弹出【显示表】对话框后,将“客户资料表”和“商品订购表”添加到【查询1:选择查询】窗口中,然后单击【关闭】按钮,如图2所示。213.3通过设计器创建查询

(3)返回【查询1:选择查询】窗口后,在Access菜单栏中选择【查询】→【生成表查询】命令,如图1所示。(4)打开【生成表】对话框后,在【表名称】组合框中输入生成的新数据表的名称,然后选择【当前数据库】单选项,接着单击【确定】按钮,如图2所示。(5)返回【查询1:选择查询】窗口后,选择【客户资料表】窗格中的【名字】选项,然后按住左键将其拖至【商品订购表】窗格的【名字】选项上方,松开左键,即可建立字段间的连接,如图3所示。2133.3通过设计器创建查询(6)将创建新数据表所需的字段添加到查询表中,完成后单击【关闭】按钮,如图1所示。(7)此时将弹出保存警告对话框,单击【是】按钮,如图2所示。其后将打开【另存为】对话框,在【查询名称】文本框中输入查询表的名称,然后单击【确定】按钮,如图3所示。2133.3通过设计器创建查询

(8)返回【数据库】窗口后,双击【查询】栏中的【生成表查询】选项,然后在弹出的警告对话框中单击【是】按钮,如图1所示。此时将弹出确认操作对话框,单击【是】按钮确认创建新表即可,如图2所示。(9)新建后的数据表被保存在【数据库】窗口的【表】栏中,其内容如图3所示。2133.3通过设计器创建查询3.3.3创建交叉表查询

通过设计器创建交叉表查询的方法与创建选择查询类似,不同点在于除了添加字段和设置排序方式外,还需要手动指定作为“行标题、列标题、数值”字段,以及设置字段的统计方式,具体操作步骤如下。(1)从光盘中打开“..\Example\Ch03\3.3.3.mdb”练习文件,然后在【数据库】窗口的【对象】栏中单击【查询】按钮,接着双击窗口中的【在设计视图中创建查询】选项。(2)打开【查询1:选择查询】窗口并弹出【显示表】对话框后,将“货物派送表”添加到【查询1:选择查询】窗口中,然后单击【关闭】按钮,如图1所示。(3)返回【查询1:选择查询】窗口后,在Access菜单栏中选择【查询】→【交叉表查询】命令,如图2所示。213.3通过设计器创建查询(4)将【货物派送表】窗格中的“名字、商品名称、数量”等字段添加到查询表的【字段】行中,然后在表格中设置【数量】字段的统计方式为【总计】,如图1所示。(5)在表格的【交叉表】行中将【名字】字段设置为【列标题】,将【商品名称】字段指定为【行标题】,将【数量】字段指定为【值】,设置完成后单击【关闭】按钮,如图2所示。(6)弹出保存警告对话框后,单击【是】按钮,如图3所示。然后在打开的【另存为】对话框中设置查询表的名称,最后单击【确定】按钮即可,如图4所示。21343.4创建与应用高级查询

普通查询能够实现的功能有限,如果需要实现更复杂的查询功能,就要使用高级查询。Access的高级查询主要包括追加查询、更新查询、删除查询和SQL联合查询,本节将逐一介绍创建与应用各种高级查询的方法。3.4.1创建追加查询

追加查询能够将源数据表(表A)中的记录追加到目标数据表(表B)的末尾,但是只有公共字段值才会被追加。例如表A中的字段C在表B中没有对应字段,则字段C的值不会被追加到表B中;而表B中的字段D在表A中没有对应字段,则追加的记录对应字段D的值为空值。下面介绍通过追加查询向数据表追加记录的方法,具体操作步骤如下。

(1)从光盘中打开“..\Example\Ch03\3.4.1.mdb”练习文件,然后在【数据库】窗口的【对象】栏中单击【查询】按钮,接着双击窗口中的【在设计视图中创建查询】选项。3.4创建与应用高级查询3.4.1创建追加查询(2)打开【查询1:选择查询】窗口并弹出【显示表】对话框后,将“商品订购表2”添加到【查询1:选择查询】窗口中,然后单击【关闭】按钮,如图1所示。(3)返回【查询1:选择查询】窗口后,在Access菜单栏中选择【查询】→【追加查询】命令,如图2所示。(4)打开【追加】对话框后,选择【当前数据库】单选项,然后在【表名称】列表框中选择【商品订购表1】选项,接着单击【确定】按钮,如图3所示。(5)返回【查询1:追加查询】窗口后,将【商品订购表】窗格中的“名字、商品名称、数量”等字段添加到查询表的【字段】行中,完成后单击【关闭】按钮,如图4所示。21343.4创建与应用高级查询(6)弹出保存警告对话框后,单击【是】按钮,如图1所示。然后在打开的【另存为】对话框中设置查询表的名称,最后单击【确定】按钮,如图2所示。(7)返回【数据库】窗口后,双击【查询】栏中的【追加查询表】选项,然后在弹出的警告对话框中单击【是】按钮,如图3所示。此时将弹出确认操作对话框,单击【是】按钮确认追加记录即可,如图4所示。21343.4创建与应用高级查询3.4.2创建更新查询

更新查询能够批量更改数据表中的某个字段的所有字段值,例如可以将所有商品的单价上调10%。本小节将介绍创建更新查询的方法,具体操作步骤如下。

(1)从光盘中打开“..\Example\Ch03\3.4.2.mdb”练习文件,然后在【数据库】窗口的【对象】栏中单击【查询】按钮,接着双击窗口中的【在设计视图中创建查询】选项。

(2)打开【查询1:选择查询】窗口并弹出【显示表】对话框后,将“商品价格表”添加到【查询1:选择查询】窗口中,然后单击【关闭】按钮,如图1所示。

(3)返回【查询1:选择查询】窗口后,在Access菜单栏中选择【查询】→【更新查询】命令,如图2所示。

(4)将【商品价格表】窗格中的【单价(元)】字段添加到查询表的【字段】行中,然后在【更新到】行的对应单元格中输入“[单价(元)]*1.1”,接着单击【关闭】按钮,如图3所示。2133.4创建与应用高级查询

(5)弹出保存警告对话框后,单击【是】按钮,如图1所示。然后在打开的【另存为】对话框中设置查询表的名称,最后单击【确定】按钮,如图2所示。(6)返回【数据库】窗口后,双击【查询】栏中的【更新记录】选项,然后在弹出的警告对话框中单击【是】按钮,如图3所示。此时将弹出确认操作对话框,单击【是】按钮确认更新记录即可,如图4所示。21433.4创建与应用高级查询3.4.3创建删除查询删除查询操作能够删除数据表中符合特定条件的记录。由于删除后的记录无法恢复,因此建议用户在删除查询前先备份数据表,或者先预览即将删除的记录。下面以删除库存量少于3的商品为例,介绍创建删除查询的方法,具体操作步骤如下。

(1)从光盘中打开“..\Example\Ch03\3.4.3.mdb”练习文件,然后在【数据库】窗口的【对象】栏中单击【查询】按钮,接着双击窗口中的【在设计视图中创建查询】选项。(2)打开【查询1:选择查询】窗口并弹出【显示表】对话框后,将“库存商品表”添加到【查询1:选择查询】窗口中,然后单击【关闭】按钮,如图1所示。(3)返回【查询1:选择查询】窗口后,在Access菜单栏中选择【查询】→【删除查询】命令,如图2所示。213.4创建与应用高级查询(4)将【库存商品表】窗格中的星号“*”和“数量”字段添加到查询表的【字段】行中,如图1所示。(5)选择查询表的【条件】行中与【数量】字段对应的单元格,然后输入“<3”,接着单击【关闭】按钮,如图2所示。

(6)弹出保存警告对话框后,单击【是】按钮,如图3所示。然后在打开的【另存为】对话框中设置查询表的名称,最后单击【确定】按钮,如图4所示。

(7)返回【数据库】窗口后,双击【查询】栏中的【删除查询】选项,然后在弹出的警告对话框中单击【是】按钮,如图5所示。此时将弹出确认操作对话框,单击【是】按钮确认删除记录即可,如图6所示。2143563.4创建与应用高级查询3.4.4创建SQL联合查询

SQL联合查询可以使用SQL语句在两个或多个数据表(或查询)中查找符合条件的字段,并将查找结果中对应的字段组合成一个字段。本小节将介绍创建SQL联合查询的方法,具体操作步骤如下。21

(1)从光盘中打开“..\Example\Ch03\3.4.4.mdb”练习文件,然后在【数据库】窗口的【对象】栏中单击【查询】按钮,接着双击窗口中的【在设计视图中创建查询】选项。(2)打开【查询1:选择查询】窗口并弹出【显示表】对话框后,直接单击【关闭】按钮关闭对话框,如图1所示。(3)返回【查询1:选择查询】窗口后,在Access菜单栏中选择【查询】→【SQL特定查询】→【联合】命令,如2所示。3.4创建与应用高级查询

(4)打开【查询1:联合查询】窗口后,在窗口中输入以下内容:SELECT[公司名称],[城市]FROM供应商WHERE[城市]="广州"UNIONSELECT[公司名称],[城市]FROM客户WHERE[公司名称]="广州"输入完成后单击【关闭】按钮关闭窗口,如图1所示。21

(5)弹出保存警告对话框后,单击【是】按钮,如图2所示。然后在打开的【另存为】对话框中设置查询表的名称,最后单击【确定】按钮,如图3所示。(6)返回【数据库】窗口后,即可双击【查询】栏中的【SQL联合查询】选项,然后在打开的【SQL联合查询】窗口中查看查询结果,如图4所示。343.5职业上机实战

—创建“课程成绩”查询经过上述的学习后,相信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论