数据库查询课件

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第三章查询主讲教师:王琳学习目标使用设计器创建查询对象的方法使用查询向导创建查询对象的方法在查询中自定义字段数据的方法使用条件表达式描述用户查询要求的方法本章内容1.查询的基本知识2.创建选择查询3.创建交叉表查询4.创建参数查询5.创建操作查询6.创建SQL查询7.总结提高8.思考与练习3.1查询的基本知识查询功能查询分类查询准则查询的功能选择表选择字段选择记录排序记录执行计算建立表建立基于查询的图表使用查询作为子查询修改表查询的分类1.选择查询选择查询时最常见的查询类型,它从一个或多个表中检索数据,并且在可以更新记录的数据表中显示结果。2.交叉表查询交叉表查询用来显示来源于表中某个字段的总结值,这个总结值可以是一个合计、计数以及平均等,并将它们分组,一组列在数据表左侧,一组列在数据表的上部。查询的分类3.操作查询操作查询是对查询所生成的动态集进行更改的查询。操作查询可以分为删除查询、更新查询、追加查询和生成表查询。4.SQL查询SQL查询是用户使用SQL语句来创建的一种查询。SQL查询包括联合查询、传递查询、数据定义查询和子查询4类。5.参数查询参数查询是在执行查询时显示一个对话框,提示输入信息的查询。查询准则1、准则中的运算符运算符功能举例=,,,=,=,!=,,!,!,NOT+上述运算符比较BETWEENAND,NOTBETWEENANG确定范围Between75And90IN,NOTIN确定集合In(“山东”,“浙江”,“安徽”)LIKE,NOTLIKE字符匹配Like“李*”ISNULL,ISNOTNULL空值IsNULL(为空值)AND,OR多重条件75and84查询准则2、准则中的通配符Access表中常用通配符有?、*、#、[]等。?代表任意一个字符*代表任意字符串#代表单一数字[字符表]表示字符表中的单一字符[!字符表]指不在字符表中的单一字符查询准则函数功能举例SUM([字段名])返回字符字段总和Sum([成绩])AVG([字段名])返回字段平均值Avg([成绩])COUNT([字段名])统计记录个数Count([成绩])MAX([字段名])返回字段最大值Max([成绩])MIN([字段名])返回字段最小值Min([成绩])3、准则中的函数3.2创建选择查询问题的提出一个表中可能包含多个字段数据,有时用户只需要表中的部分数据,这个问题如何解决呢?查询对象可以解决这个问题,可以从一个表确定要查找的字段数据,并显示查找到的数据。这类查询称为选择查询,它是查询对象中最常用的一种查询。【操作实例1】创建名称为“物品基本信息”的选择查询对象,从“物品”表中查找“物品编号”、“名称”、“物品类型”、“制购类型”字段的数据。1、创建查询从多个表中查找数据【操作实例1】操作步骤:(1)在Access中打开“格达公司”数据库。(2)打开查询设计器【操作实例1】(3)选择查询对象的数据来源表【操作实例1】(4)确定查询对象查找的数据字段(5)保存查询对象【操作实例1】(6)预览查询对象归纳分析(1)【显示表】对话框的使用(2)查询设计视图的组成(3)主窗口中菜单栏、工具栏的变化2、创建查询从多个表中查找数据问题的提出【操作实例1】介绍了从一个表中查找数据的方法,如何从多个表中查找出需要的数据呢?【操作实例2】将介绍了如何从多个表中查找数据,通过这个实例可以理解为什么要在数据库中建立表之间的关系。【操作实例2】创建名称为“外设物品价格”的查询对象,从“物品”、“供应商”、“供应商与物品”3个表中查找“物品编号”、“外设名称”、“供应商名称”、“价格”字段的数据,通过它们可以了解不同供应商提供的外设的价格信息。【操作实例2】操作步骤:(1)在Access中打开“格达公司”数据库。(2)打开查询设计器(3)选择查询数据的来源表【操作实例2】(4)确定查询对象要查找的数据字段(5)设置查找的条件归纳分析创建来自多个表的查询对象的步骤①打开查询设计器②选择查询数据来源③建立表之间的关系④添加目标字段。⑤设置查询条件⑥保存查询对象3、创建查询通过输入参数条件查找数据问题的提出【操作实例2】中查找了带有条件的数据,但条件是固定不变的。能不能根据用户的需要在运行查询时增加人机交互的接口,使用户可以根据提示输入参数条件,使查询对象能根据用户输入的参数条件为不同用户查找不同的数据呢?查询对象可以解决这个问题,不仅可以提供一个输入参数条件的接口,还可以提供多个人机交互的接口,按交互方式输入的条件查找数据。这类查询称为参数查询。【操作实例3】创建名称为“供应商物品价格”的参数查询对象,可以根据用户输入的不同物品名称显示供应商提供的物品价格信息。【操作实例3】操作步骤:(1)打开查询对象【操作实例3】(2)将查询另存为一个新查询对象(3)定义输入参数条件的提示文字【操作实例3】(4)保存并运行查询归纳分析通过原有查询对象生成新查询对象的方法如果新创建的查询对象与原有的查询对象类似,可在设计视图中打开原有的查询对象,通过“另存为”对话框将它保存为新查询对象的名称,通过在设计视图修改查询字段与查询条件得到新查询对象。归纳分析定义输入参数条件的提示文字的方式实现用户人机交互的接口,只要在查找数据的字段【条件】单元格中输入“[]”方括号,在方括号中定义的文字将在执行查询对象时打开的输入参数对话框中显示,这些文字主要是为了提示用户输入参数参考的,为可选项,如果不定义文字,将打开没有提示信息的对话框。在打开的输入参数对话框中一定要按字段数据要求输入具体数据值,否则会找不到任何数据。归纳分析可在多个字段相应的【条件】单元格定义不同的参数,在执行查询对象时将分别打开提示输入对话框,可按要求输入不同的参数,将按多个条件查找满足要求的数据。3.创建查询按总计生成新数据问题的提出对查找到的记录数据能不能统计记录的条数?对字段数据能不能进行汇总?求平均数?查询对象可以解决这些问题,在查询设计视图下通过Access的总计计算功能,可在查询中对查找到的数据记录进行统计。【操作实例4】创建名称为“生成销售物品总计数据”的查询对象,该查询用来生成销售物品总数、最大的销售价格、最小的销售价格、平均的销售价格数据【操作实例4】操作步骤:(1)打开查询设计视图并添加“物品”表与“客户与物品”表。(2)选择查询字段(3)添加【总计】行【操作实例4】(4)选择总计选项(5)修改字段标题、保存并运行归纳分析通过查询生成新数据,可通过总计选项来计算,常用的总计选项有总计、计数、最大值、最小值、平均、表达式、条件等。在总计下拉列表中可以看到总计包含12个选项,它们代表不同的函数和操作命令,通过总计计算可以生成不同的新数据,总计函数的功能说明见书中表5.1。4.创建查询按分组生成新数据问题的提出在实际应用中,不仅可以对所有的记录进行统计,还可以将记录分组,然后对每个组的数据进行统计。如何按分组数据计算出新数据呢?【操作实例5】创建名称为“生成分组物品统计数据”的查询对象,该查询以“物品类型”的值进行分组,然后计算出电脑产品、配件、外设的统计数据。【操作实例5】操作步骤:(1)打开查询设计视图并添加“物品”表。(2)定义查询字段(3)设置字段的总计选项(4)预览查询结果5.在查询中自行定义数据字段生成新数据问题的提出前面都是使用Access系统提供的总计函数对表中原有字段进行计算得出的新数据,如果新数据与表中的字段没有关系,或者新数据与多个字段有关系,前面介绍的总计函数就无能为力了,如何生成这两种新数据呢?【操作实例6】创建名称为“外设销售参考价格”的查询对象,该查询将自定义“销售价”、“税后价”字段数据。【操作实例6】操作步骤:(1)打开查询设计视图并添加“外设物品价格”查询对象。(2)选择查询字段(3)添加计算字段(4)设置新建字段的格式属性5.47在查询中添加计算字段图5.48“字段属性”对话框【操作实例6】(5)设置分组、以平均值求成本价(6)保存查询(7)预览查询图5.49设置总计计算方式图5.50查询生成的自定义字段数据归纳分析(1)自定义字段自定义字段的数据可以通过表或查询中已有字段建立的表达式构成,例如“[销售价]+[销售价]*0.17”;也可以全部由函数、常数、文字、操作符合等自定义的表达式构成,例如“5*78/3”。(2)设置自定义字段数据的显示格式来自表与查询中的字段,保留用来在表中设置的数据格式属性,在查询中自定义的新字段需要通过设置其格式属性来确定显示的格式。(3)通过总计“分组”函数,可以消除重复的数据,并按分组数据求出对应数据。3.3创建交叉表查询问题的提出在实际生活当中,经常用行标题显示某类产品,用列标题显示该类中的具体产品,在行列的交叉处显示这类产品的具体数据,这种显示数据表称为交叉表。在Access数据库中能否找出交叉数据,并按交叉表显示交叉信息呢?Access的查询对象可以解决这个问题,为解决这个问题可以专门创建一个查询对象,这类查询对象称为交叉表查询。【操作实例7】创建名称为“外设物品价格-交叉表”的交叉表查询对象,该查询用来查找每位供应商提供的外设物品价格,交叉表上使用“供应商名称”字段值做列标题、“名称”字段值做行标题,交叉位置显示该供应商提供的外设物品价格。【操作实例7】操作步骤:(1)启动查询向导(2)回答向导提问回答查找数据的表或查询的名称(在哪里找数据)回答交叉表中用哪个字段的值做行标题回答交叉表中哪个字段的值用来做列标题图5.18选择交叉表查找的表/查询图5.19选择做行标题的字段图5.20选择做列标题的字段【操作实例7】【操作实例7】回答交叉表中交叉点计算什么数值回答新建查询的名字【操作实例7】(3)自动创建交叉表查询归纳分析(1)使用向导创建查询对象的步骤启动查询向导回答向导提问自动创建查询对象。归纳分析(2)创建交叉表对象的关键交叉表对象的实质是查找作为行标题的字段、列标题的字段、交叉位置的字段的数据,所以,创建交叉表对象的关键就是确定行标题的字段、列标题的字段、交叉位置的字段。在设计视图可以重新选择行标题的字段、列标题的字段与交叉位置的字段。归纳分析(3)交叉表查询的数据源交叉表查询只能在一个表或查询中查找数据,如果交叉表中查找的三个字段数据来自于多个表和查询中需要事先创建一个来自多表的查询,然后再根据这个查询对象创建交叉表查询。3.4创建参数查询建立单参数查询建立多参数查询设定参数查询顺序3.5创建操作查询查询对象不仅能从表及查询中查找满足指定条件的字段数据,还可以对查找到的记录进行不同的处理。本节的主要任务就是掌握通过查询对象将查找到的记录生成新表、删除、追加、更新等操作方法。1.创建查询将查找的数据生成一个新表问题的提出在Access中,在表设计视图通过“另存为”命令可以将原有的表保存为一个新表,但只是生成一个与原表相同的表结构。能不能将现有表中的字段及数据生成一个新表呢?查询对象可以解决这个问题,不仅可以从一个表提取数据生成一个新表,还可以从几个表或查询中提取数据,将数据及表结构一同生成一个新表。这类查询称为生成表查询。【操作实例8】创建名称为“客户销售价格表-生成表”的生成表查询对象,该查询用来创建一个包含字段为“物品编号、名称、价格、客户名称”的新表“客户销售价格表”。【操作实例8】操作步骤:(1)打开查询设计视图(2)选择查询字段【操作实例8】(3)将查询定义为“生成表查询”类型图5.25选择查询类型为“生成表查询”图5.26“生成表”对话框【操作实例8】(4)预览将要生成的表(5)生成新表归纳分析(1)通过查询生成新表的步骤在查询设计视图确定新表的字段。定义查询为“生成表查询”类型。预览查找到的新表中的数据。

1 / 106
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功