数据库-查询.ppt
《数据库-查询.ppt》由会员分享,可在线阅读,更多相关《数据库-查询.ppt(68页珍藏版)》请在冰豆网上搜索。
![数据库-查询.ppt](https://file1.bdocx.com/fileroot1/2022-10/19/3c7c666b-aa2a-4d18-ad07-048432e4d11c/3c7c666b-aa2a-4d18-ad07-048432e4d11c1.gif)
第3章查询本章学习要点l查询的功能l创建选择查询的各种方法l查询【设计视图】的用法l查询向导的用法l条件查询的建立l参数查询、交叉表查询的创建l操作查询的创建lSQL查询的创建l解除Access对查询的阻止3.1查询的功能l查询就是以数据库表中的数据为数据源,根据给定的条件从指定的表或查询中检索出用户要求的数据,形成一个新的数据集合。
查询的结果可以随着数据表中的数据变化而变化。
l查询还具备以下几项功能。
作为创建窗体报表的数据源。
用来生成新的数据表。
筛选和排序只能对一个数据表进行操作,而利用查询可以对几个数据表一起操作。
批量地向数据表中添加、删除或修改数据。
3.1查询的功能l查询的六大家族为:
选择查询生成表查询追加查询更新查询交叉表查询删除查询3.2创建查询l简单选择查询l交叉表查询l查找重复项查询l查找不匹配项查询l用设计视图创建查询l查询及字段的属性设置l设置查询条件3.2.1简单选择查询l利用选择查询,可以实现如下事情。
对一个或多个数据表进行检索查询。
生成新的查询字段并保存结果。
对记录进行总计、计数、平均值以及其他类型的数据计算。
3.2.1简单选择查询l在“查询示例.accdb”数据库中,以“采购订单”表和“采购订单明细”表作为数据源,建立“采购信息”查询。
第一步:
启动Access2007,打开“查询示例.accdb”数据库。
单击【创建】选项卡下【其他】组中的【查询向导】按钮,弹出【新建查询】对话框,如下图所示。
第二步:
在对话框中选择【简单查询向导】选项,单击【确定】按钮,弹出【简单查询向导】对话框,如下图所示。
选择选择相相应应字段,字段,添加到列表框添加到列表框中。
中。
3.2.1简单选择查询l在“查询示例.accdb”数据库中,以“采购订单”表和“采购订单明细”表作为数据源,建立“采购信息”查询。
第三步:
单击【表/查询】下拉列表框,选择要建立查询的数据源,在本例中我们选择“采购订单”表,然后分别选择“采购订单ID”、“供应商ID”、“付款额”和“运费”字段,单击【添加】按钮,将选中的字段添加到右边的【选定字段】列表框中。
第四步:
单击【表/查询】下拉列表框,重新选择“采购订单明细”表,然后分别选择添加“产品ID”、“数量”和“单位成本”字段到【选定字段】中,如下图所示。
第五步:
单击【下一步】按钮,弹出如下图所示的对话框。
在对话框中选择是采用明细查询还是建立【汇总查询】。
本例中我们选择采用明细查询,如下图所示。
3.2.1简单选择查询l在“查询示例.accdb”数据库中,以“采购订单”表和“采购订单明细”表作为数据源,建立“采购信息”查询。
第六步:
单击【下一步】按钮,弹出为查询命名的对话框,输入查询的名称为“采购订单数额查询”。
选中【打开查询查看信息】单选按钮,最后单击【完成】按钮,如下图所示。
这样,系统就为我们建立了查询,并将查询结果以数据表的形式显示,如下图所示。
3.2.2交叉表查询l交叉表查询主要用于显示某一个字段数据的统计值,比如求和、计数、求平均值等。
它将数据分组放在查询表中,一组列在数据表的左侧,一组列在数据表的上部。
这样可以让用户更容易地看出数据的规律和趋势,更加方便地分析数据。
l关于交叉表的各种操作步骤,我们将在3.3节中作详细介绍。
3.2.3查找重复项查询l查找“采购订单”表中各个供货商的供货信息。
第一步:
打开“查询示例.accdb”数据库,单击【创建】选项卡下【其他】组中的【查询向导】按钮,弹出【新建查询】对话框,如下图所示。
第二步:
选择【查找重复项查询向导】选项,单击【确定】按钮,弹出【查找重复项查询向导】对话框,如下图所示。
3.2.3查找重复项查询l查找“采购订单”表中各个供货商的供货信息。
第三步:
【视图】区域中提供了三种显示方式,即只显示“表”,只显示“查询”和两者都显示。
我们选择“表”视图,在下拉列表框中选择“采购订单”表作为查询对象,单击【下一步】按钮,弹出提示用户选择查找目标字段的对话框,如下图所示。
第四步:
在【可用字段】列表框中选择“供应商ID”作为要进行查找重复项查询的字段。
单击【下一步】按钮,弹出提示用户选择其他显示字段的对话框,如下图所示。
3.2.3查找重复项查询l查找“采购订单”表中各个供货商的供货信息。
第五步:
选择“采购订单ID”、“状态ID”、“运费”和“付款额”4个字段作为要显示的其他字段,单击【下一步】按钮,弹出提示用户输入查询名的对话框,输入查询的名称为“查找采购订单的重复项”,如下图所示。
第六步:
单击【完成】按钮,这样就建立了一个查找重复项的查询,如下图所示。
用户可以很直观地查看某一个供货商如“佳佳乐”的所有的采购订单、采购数额和运费等信息。
3.2.4查找不匹配项查询以“采购订单”表和“采购订单明细”表中的“采购订单ID”字段为查询条件,建立查找不匹配项查询。
由于示例数据库中的所有记录都是相符合的,为了演示的方便,先打开“采购订单明细”表,删除该表中的任意一些记录,以使两者中的数据记录不完全匹配。
注意不要删除“采购订单”表中的数据,否则由于两者建立了表关系且设置了实施参照完整性,删除“采购订单”表中记录的同时也会删除“采购订单明细”表中相关的记录。
第一步:
打开“查询示例.accdb”数据库,单击【创建】选项卡下【其他】组中的【查询向导】按钮,弹出【新建查询】对话框,如下图所示。
第二步:
选择【查找不匹配项查询向导】选项,单击【确定】按钮,弹出【查找不匹配项查询向导】对话框,如下图所示。
本例中我们选择“采购订单”表作为查询的数据源,如下图所示。
3.2.4查找不匹配项查询第三步:
单击【下一步】按钮,弹出选择要进行比较的表的对话框,我们选择“采购订单明细”表,如下图所示。
以“采购订单”表和“采购订单明细”表中的“采购订单ID”字段为查询条件,建立查找不匹配项查询。
由于示例数据库中的所有记录都是相符合的,为了演示的方便,先打开“采购订单明细”表,删除该表中的任意一些记录,以使两者中的数据记录不完全匹配。
注意不要删除“采购订单”表中的数据,否则由于两者建立了表关系且设置了实施参照完整性,删除“采购订单”表中记录的同时也会删除“采购订单明细”表中相关的记录。
第四步:
单击【下一步】按钮,弹出选择“对比字段”的对话框。
这里的两张对比表就是我们上两步选择的两张表。
我们选择两张表的“采购订单ID”作为要进行对比的字段,并按下中间的【对比】符号,如下图所示。
3.2.4查找不匹配项查询以“采购订单”表和“采购订单明细”表中的“采购订单ID”字段为查询条件,建立查找不匹配项查询。
由于示例数据库中的所有记录都是相符合的,为了演示的方便,先打开“采购订单明细”表,删除该表中的任意一些记录,以使两者中的数据记录不完全匹配。
注意不要删除“采购订单”表中的数据,否则由于两者建立了表关系且设置了实施参照完整性,删除“采购订单”表中记录的同时也会删除“采购订单明细”表中相关的记录。
第五步:
单击【下一步】按钮,弹出提示选择查询结果中要显示的相关字段的对话框,单击【全部选择】按钮,选择所有字段,如下图所示。
第六步:
单击【下一步】按钮,弹出提示用户输入查询名的对话框,输入查询的名称为“采购订单与采购订单明细不匹配”,如下图所示。
3.2.4查找不匹配项查询以“采购订单”表和“采购订单明细”表中的“采购订单ID”字段为查询条件,建立查找不匹配项查询。
由于示例数据库中的所有记录都是相符合的,为了演示的方便,先打开“采购订单明细”表,删除该表中的任意一些记录,以使两者中的数据记录不完全匹配。
注意不要删除“采购订单”表中的数据,否则由于两者建立了表关系且设置了实施参照完整性,删除“采购订单”表中记录的同时也会删除“采购订单明细”表中相关的记录。
第七步:
单击【完成】按钮,这样就建立了一个查找不匹配项的查询,如下图所示。
用户可以看到那些在“采购订单”表中存在,但是在“采购订单明细”表中不存在的记录。
3.2.5用设计视图创建查询l查询的【设计视图】如下图所示。
l查询设计网格中的各个行的含义分别如下。
字段】:
用于选择要进行查询的表中的字段。
【表】:
包含选定的字段的表。
【排序】:
选择是按升序、降序还是不进行排序显示。
【显示】:
控制该字段是否为可显示字段,当在显示行中有小对号时,该字段可以显示,否则表明进行了查询,但是不进行显示。
【条件】:
设定查询条件,通过设定查询条件,进行详细的查询。
关于条件的详细设置,我们在以后将作进一步介绍。
【或】:
逻辑“或”,是用于查询的第二个条件。
3.2.5用设计视图创建查询l在“查询示例.accdb”数据库中,由“采购订单”表和“采购订单明细”表,建立“采购信息”查询。
第一步:
打开“查询示例.accdb”数据库,单击【创建】选项卡下【其他】组中的【查询设计】按钮,弹出【设计视图】和【显示表】对话框,如右上图所示。
第二步:
选择要作为查询数据源的表。
选中“采购订单”表和“采购订单明细”表作为数据源,单击【添加】按钮,将选定的表添加在查询【设计视图】的上半部分,如下图所示。
3.2.5用设计视图创建查询l在“查询示例.accdb”数据库中,由“采购订单”表和“采购订单明细”表,建立“采购信息”查询。
第三步:
双击“采购订单”表中的“采购订单ID”字段,或者直接将该字段拖动到【字段】行中,这样就在【表】行中显示了该表的名称“采购订单”,【字段】行中显示了该字段的名称“采购订单ID”,如下图所示。
第四步:
和第3步的操作类似,分别将“供应商ID”、“运费”、“付款额”、“产品ID”、“数量”和“单位成本”字段加入【字段】行中,得到的【设计视图】如下图所示。
3.2.5用设计视图创建查询l在“查询示例.accdb”数据库中,由“采购订单”表和“采购订单明细”表,建立“采购信息”查询。
第五步:
单击工具栏上的【保存】按钮,这时弹出一个【另存为】对话框,输入要取的查询名称“采购信息”,如下图所示。
第六步:
单击【确定】按钮,保存该查询。
单击【设计】选项卡下【结果】组中的【视图】按钮或者【运行】按钮,则可以看到查询的运行结果,如下图所示。
3.2.5用设计视图创建查询l联接属性的设置方法如下。
当添加两个表到【设计视图】中时,两个表中间会有一条联接线。
双击该联接线,则将弹出如下图所示的【联接属性】对话框。
3.2.5用设计视图创建查询l在【联接属性】对话框中有三个不同的单选按钮,各个按钮选择的查询方式是不同的。
默认的选择为如图所示的第一个选择,【只包含两个表中联接字段相等的行】,也就是只有两个表中都有的“采购订单ID”才能够被查询和显示。
如果选择第二个,则查询显示“采购订单”表中的所有记录和“采购订单明细”表中联接字段相等的记录。
也就是那些存在于“采购订单”表中的所有记录都将被查询,对于“采购订单明细”中没有的记录,相应的字段将显示为空白;而只存在于“采购订单明细”中的记录则不能够被查询。
如果选择第三个,则结果和第二个相反,那些只存在于“采购订单”表中的记录不能够被查询。
所有“采购订单明细”表中的记录都将被查询,而不管“采购订单”表中有没有相应的记录。
3.2.6查询及字段的属性设置l利用查询的【属性表】窗格,可以改变查询的默认视图,也可以对查询的排序、筛选、显示最大记录数以及子数据表的名称等进行设置。
在屏幕左边的导航窗格中,右击我们要进行设置的查询,并在右键菜单中选择【设计视图】选项,进入查询的【设计视图】。
然后单击【设计】选项卡【显示/隐藏】组中的【属性表】按钮,则弹出【属性表】窗格,如下图所示。
3.2.7设置查询条件l查询条件类似于一种公式,它是可能由引用的字段、运算符和常量组成的字符串。
l下表列举了几个查询条件的例子。
条件说明25and50此条件适用于数字字段,它仅查询出这样的记录:
该字段中大于25且小于50记录值Not“China”返回该字段不包含China字符串的所有记录IsNull此条件可用于任何类型的字段,以显示字段值为Null的记录3.2.7设置查询条件l查询中含有各种运算符,既有算术运算符,又有逻辑运算