Access教程 第三章 查询

article/2024/12/23 4:27:13
本章内容
 
◆ 查询的概念、种类和作用。
◆ 各种查询的建立。
◆ 查询的应用。
 
 
一、查询的概念
 
1 .什么是查询
 
查询就是依据一定的查询条件,对数据库中的数据信息进行查找。它与表一样,都是数据库的对象。它允许用户依据准则或查询条件抽取表中的记录与字段。 Access 2003 中的查询可以对一个数据库中的一个或多个表中存储的数据信息进行查找、统计、计算、排序等。
 
有多种设计查询的方法,用户可以通过查询设计器或查询设计向导来设计查询。
 
 
查询结果将以工作表的形式显示出来。显示查询结果的工作表又称为结果集,它虽然与基本表有着十分相似的外观,但它并不是一个基本表,而是符合查询条件的记录集合。其内容是动态的。
 
2. 查询的种类
 
Access 2003 提供多种查询方式,查询方式可分为选择查询、汇总查询、交叉表查询、重复项查询、不匹配查询、动作查询、 SQL特定查询、以及多表之间进行的关系查询。这些查询方式总结起来有4类:选择查询、特殊用途查询、操作查询和SQL专用查询。
 
3. 查询的作用和功能
 
查询是数据库提供的一种功能强大的管理工具,可以按照使用者所指定的各种方式来进行查询。查询基本上可满足用户以下需求:
◆ 指定所要查询的基本表。
◆ 指定要在结果集中出现的字段。
◆ 指定准则来限制结果集中所要显示的记录。
◆ 指定结果集中记录的排序次序。
◆ 对结果集中的记录进行数学统计。
◆ 将结果集制成一个新的基本表。
◆ 在结果集的基础上建立窗体和报表。
◆ 根据结果集建立图表。
◆ 在结果集中进行新的查询。
◆ 查找不符合指定条件的记录。
◆ 建立交叉表形式的结果集。
◆ 在其他数据库软件包生成的基本表中进行查询。
作为对数据的查找,查询与筛选有许多相似的地方,但二者是有本质区别的。查询是数据库的对象,而筛选是数据库的操作。
下表指出了查询和筛选之间的不同:
 
功能                                         查询        筛选
——————————————————————————————
用作窗体或报表的基础                         是          是
排序结果中的记录                             是          是
如果允许编辑,就编辑结果中的数据             是          是
向表中添加新的记录集                         是          否
只选择特定的字段包含在结果中                 是          否
作为一个独立的对象存储在数据库中             是          否
不用打开基本表、查询和窗体就能查看结果       是          否
在结果中包含计算值和集合值                   是          否         
——————————————————————————————
 
 
二、创建查询
 
用户可以打开数据库窗口,选择【查询】对象,然后单击工具栏中的【新建】按钮,弹出【新建查询】对话框。
 
1. 简单选择查询
 
简单选择查询通过简单查询向导来快速完成。
 
 
 
如果要添加汇总,则进行下一步操作而不选择【明细】。
 
 
 
下面是汇总选项:
 
 
如果不用向导设计查询而用查询设计器进行查询设计,并且要在查询中添加汇总选项,则需要手工添加一些汇总函数:
Sum     求总和
Avg     平均值
Min     最小值
Max     最大值
Count   计数
StDev   标准差
Var     方差
First   第一条记录
Last    最后一条记录
 
2. 交叉表查询向导
 
交叉表查询以表的形式显示出摘要的数值,例如某一字段的总和、计数、平均等。并按照列在数据表左侧的一组标题和列在数据表上方的另一组标题,将这些值分组,在数据工作表中分别以行标题和列标题的形式显示出来,用于分析和比较。
例如:产品表如下
 
要从基本表中得到如下信息:某一类别产品的“库存量”及其“供应商”。
 
方法步骤图解如下:
 
 
 
 
3. 查找重复项查询向导
 
查找重要项查询向导,可以帮助用户在数据表中查找具有一个或多个字段内容相同的记录。此向导可以用来确定基本表中是否存在重复记录。
如果要得到如下面所示的结果集:
 
 
则可进行如下操作步骤:
 
 
 
 
 
4. 查找不匹配项查询向导
 
查找不匹配项查询向导,是用来帮助用户在数据中查找不匹配记录的向导。如要查找【产品】表中的供应商 ID与【供应商】表中的供应商ID不匹配的记录。步骤分解如下:
 
 
 
 
 
 
 
 
 
5. 用查询设计器创建查询
 
使用向导只能建立简单的、特定的查询。 Access 2003 还提供了一个功能强大的查询设计器,通过它不仅可以从头设计一个查询,而且还可能对已有的查询进行编辑和修改。
 
下图即为查询设计器:
 
【设计器】主要分为上下两部分,上面放置数据库表、显示关系和字段;下面给出设计网格,网格中有如下行标题:
◆ 字段      查询工作表中所使用的字段名
◆ 表        该字段所来自的数据表
◆ 排序      是否按该字段排序
◆ 显示      该字段是否在结果集工作表中显示
◆ 条件      查询条件
◆ 或        用来提供多个查询条件
 
上面的工具栏上有如下按钮:
 
 
◆ 视图          每个查询有5种视图(设计、数据表、SQL、数据透视表、数据透视图表)
◆ 查询类型      选择、交叉表、更新、追加、生成表、删除。
◆ 运行          运行查询
◆ 显示表        显示所有可用的表
◆ 总计          在查询设计区中增加【总计】行,可用于求和、求平均等
◆ 上限值        用户可指定显示范围
◆ 属性          显示当前对象属性
◆ 生成器        弹出【表达式生成器】
◆ 数据库窗口    回到数据库窗口
◆ 新对象        建立数据库的新对象
 
6. 用查询设计器进一步设计查询
 
⑴ 添加表 /查询
 
⑵ 更改表或查询间的关联
⑶ 删除表 /查询
⑷ 添加插入查询的字段
⑸ 删除、移动字段
⑹ 设置查询结果的排序
⑺ 设置字段显示属性
 
 
7. 查询及字段的属性设置
 
 
 
8. 设置查询准则
 
查询设计视图中的准则就是查询记录应符合的条件。它与在设计表时设置字段的有效性规则的方法相似。
 
⑴ 准则表达式
And             与操作           “A” And “B”
Or              或操作           “A” Or “B”
Between…And    指定范围操作     Between “A” And “B”
In              指定枚举范围     In(“A,B,C”)
Like            指定模式字符串   Like “A?[A~f]#[!0~9]*”    如:A u D 3 q 98e32ww
 
⑵ 在表达式中使用日期与时间
在准则表达式中使用日期 /时间时,必须要在日期值两边加上“#”。下面写法都是正确的:#Feb12,98#、#2/12/98#、#1221998#。
相关内部函数:
Date()      返回系统当前日期
Year()      返回日期中的年份
Month()     返回日期中的月份
Day()       返回日期中的日数
Weekday()   返回日期中的星期数
Hour()      返回时间中的小时数
Now()       返回系统当前的日期与时间
 
⑶ 表达式中的计算
A+B         两个数字型字段值相加,两个文本字符串连接
A-B         两个数字型字段值相减
A*B         两个数字型字段值相乘
A/B         两个数字型字段值相除
A/B         两个数字型字段值相除四舍五入取整
A^B         A的 B次幂
Mod(A,B)    取余, A除以B得余数
A&B         文本型字段 A和B连接
 
⑷ 使用准则表达式生成器
 
 
 
三、创建特殊用途查询
 
数据查询未必总是静态地提取统一信息。只要用户把搜索类别输入到一个特定的对话框中,就能在运行查询时对其进行修改。例如:当用户希望能够规定所需要的数据组进,就需要使用一个参数查询。
另一个特殊用途的查询就是把字段值自动填充到相关表中的“自动查询”查询。“自动查询”查询通过查找用户输入在匹配字段中的数值,并把用户指定的信息输入到相关表的字段中。
 
1. 参数查询
 
如用户想要查询价格在 10~30元之间的各种产品,并想知道产品的供应商和产品的类别。这需要向查询设计器中添加【产品】、【供应商】、【类别】三个表。具体步骤如下:
 
首先打开查询设计器,将数据表添加到上面。
 
添加字段。并给出条件: Between [输入最低值] And [输入最高值]
 
 
然后运行,输入两参数:
 
 
可查看到结果:
 
 
如要改变参数类型,可打开【查询】 |【参数】对话框来解决:
 
2. 自动查找查询
 
自动查询查询使用具有一对多关系的两个表,若要创建一个自动查找查询,首先把两个相关表添加到查询设计窗口,然后把匹配字段从“多”方拖到网格上。这种查询是查找“一”方中的相关记录并从匹配记录中的其他字段检索数值。
下面创建一个在【供应商】列中选择一个供应商时,自动填充【联系人姓名】、【地址】、【邮政编码】、【电话】的自动查找查询。具体操作如下:
 
 
运行,在底部通过选择供应商而添加记录,其中“一”方表中的公司名称、联系人姓名、地址、邮政编码、电话等字段将自动加上。而“多”方的产品名称则须人工加上。
 
 
3. 交叉表查询
 
交叉表查询是一种特殊的合计查询类型,可以使数据按电子表格的方式显示查询结果集,这种方式在水平与垂直方向同时对数据进行分组,使数据的显示更为紧凑。这一点在前面已讨论过了。
 
下面我们再创建一个雇员销售订单金额汇总表。由于每一个定单中有多个订单明细产品,所以金额必须求和。所以按订单分组,利用表达式 [数量]*[单价]求和即可,并按雇员分列之。
 
 
 
 
 
四、操作查询
 
    操作查询用于同时对一个或多个表执行全局数据管理操作。操作查询可以对数据表中原有的数据内容进行编辑,对符合条件的数据进行成批的修改。因此,应该备份数据库。
 
1. 更新查询
 
更新查询用于同时更改许多记录中的一个或多个字段值,用户可以添加一些条件,这些条件除了更新多个表中的记录外,还筛选要更改的记录。大部分更新查询可以用表达式来规定更新规则。
如下表实例:
 
字段类型     表达式          结果
————————————————————————————————————
货币         [单价]*1.05     把“单价”增加5%
日期         #4/25/01#       把日期更改为2001年4月25日
文本         “已完成”      把数据更改为“已完成”
文本         “总”&[单价]   把字符“总”添加到“单价”字段数据的开头
是 /否       Yes             把特定的“否”数据更改为“是”
————————————————————————————————————
 
 
 
 
2. 追加查询
 
当用户要把一个或多个表的记录添加到其他表时,就会用到追加查询。追加查询可以从另一个数据库表中读取数据记录并向当前表内添加记录,由于两个表之间的字段定义可能不同,追加查询只能添加相互匹配的字段内容,而那些不对应的字段将被忽略。
 
 
 
 
 
3. 删除查询

http://chatgpt.dhexx.cn/article/gP19iUXL.shtml

相关文章

SQL Server 不允许保存更改的解决方法

对于表的修改出现不允许保存更改的解决方法,刚开始以为是不能保存设置主键,后来发现不是这样的,是设置的问题。 点击【工具】——【选项】,点击【设计器】——【表设计器和数据库设计器】,把“阻止保存要求重新创建表…

【小5聊】Sql Server 2012 更改数据类型之提示不允许保存更改解决方法

1、创建表,然后添加了一两个字段保存创新一张新表 2、当再次更改其中一个字段的数据类型时,提示如下信息 3、解决方法,如下 【一句话一感想一心情】版本更新,增加测颜值推荐图文,来体验下句子的魅力

SQL Server不允许保存更改【解决】

问题: 解决: 1、工具→选项 2、设计器→取消”阻止保存要求重新创建表的更改“→确定

SQL Server 【不允许保存更改】问题解决图解

问题点 当表已经被设计保存后,再次设计表,使用设计-增加删除列 或其他方式修改了表的结构时,选择保存。 无法保存,出现以下警告提示: 不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的表进行…

SQL Server修改表结构,不允许保存更改解决方案

解决方案 当修改表结构时,sql server会弹出对话框,显示以下内容: 不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的表进行了更改或者启用了“阻止保存要求重新创建表的更改”选项。 分析这句话, 1、…

SQL SERVER—修改时不允许保存修改

【前言】 在之前机房合作的时候,也经常遇到SQL Server错误提示:不允许保存修改这个问题。当时不是连接的自己本地的数据库,以为是数据库在谁的本地电脑上才能修改,现在才明白,其实不是这样的。下面来看看如何解决问题…

修改SQLServer数据库已存在的表结构保存后提示“不允许保存更改”解决办法

报错截图如下: 解决方法如下: 1、单击SQL Server的“工具”→“选项”,如下图: 2、选择“设计器”,右侧取消“阻止保存要求重新创建表的更改(S)”勾选。

SQL Server 不允许保存更改

在创建了表之后,添加了数据,想修改一下数据库的数据结构,比如把varchar改成nvarchar,sql通常会弹出如下错误提示: 解决办法:工具》选项》Designers__表设计器和数据库设计器__然后勾选掉“阻止保存要求重新…

SQL server修改字段名等出现不允许保存更改的解决方法

问题: 解决方法: 点击 工具->选项->设计器->表设计器和数据库设计器->去掉【阻止保存要求重新创建表的更改】前面的勾

SQL Server基础 第三章 数据表基本操作(增删改查,不允许保存更改异常!)

往表里插数据我们现在有两种方式第一种是编辑直接修改,第二种是通过查询来修改数据 两种方法的区别 第一种更直接,如果数据量小那么直接改就好了,那如果数据量稍微庞大我们就需要用新建查询来进行表内容的修改了!!&a…

SQL Server不允许保存更改的解决方法

点击上面的【工具】→【选项】 在选项对话框中,点击【设计器】→【表设计器和数据库设计器】 去掉【阻止保存要求重新创建表的更改】前面的勾,然后确定 好啦,再去试试吧,应该可以正常修改表的结构啦 \(^o^)/

解决方法-SQLserver建表后更改列,显示不允许保存更改。您所做的更改要求删除并重新创建以下表

SQLserver建表后更改列,显示不允许保存更改。您所做的更改要求删除并重新创建以下表。 解决方法: 工具选项卡—选项—设计器,去掉"阻止保存要求重新创建表的更改"的勾选就可以了,之后再更改列的时候就不会改不了了。

SQL Server 之 修改时不允许保存更改

SQL Server错误提示:不允许保存更改。 不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的表进行了更改或者启用“阻止保存要求重新创建表的更改”选项。   修改数据库的数据结构,比如增加字段,修改字段类型&#…

sql2019更改了表的部分字段设计出现不允许保存更改解决方案

保存时出现错误 解决方案: 点击工具下的选项 打开如下窗口,选择左边的设计器,再取消右边的组织保存要求重新创建表的更改,就ok了

SQL不允许保存更改,阻止保存要求重新创建表的更改

修改数据库表结构时提示【不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的标进行了更改或者启用了“阻止保存要求重新创建表的更改"选项。】 工具/原料 数据库 方法/步骤 1 登录sql2008,找到数据库【news】展开表文件夹 2 在表…

mysql 不允许保存修改_解决SQL SERVER 2014 不允许保存更改。您所做的更改要求删除并重新创建以下表。您对无法重新创建的表进行了更改或者启用了阻止保存要求重新创建表的更改选项...

在新安装的SQL SERVER 2014上修改表结构,因为默认启用了"阻止保存要求重新创建表的更改",所以导致出现警告,提示不允许保存更改。其实这是一个老早的问题了,这个问题最早出现在SQL SERVER 2008上,只要对数据…

SQL server不允许保存更改

在对数据库添加了数据之后,想要修改一下表的结构的时候提示不允许保存。 安装过好几个版本的SQLserver,碰到这个问题老是忘记怎么解决,所以就写一下。 1、问题: 2、解决: ->(1)点击---“工具” ->(2)-----“选…

Sqlserver修改表结构提示不允许保存更改。

在现有的表中去修改或者增加表字段的时候就会提示:不允许保存更改。您所做的更改要求删除并创建一下表。您对无法重新创建的表进行了更改或启用了“阻止保存要求重新创建表的更改”选项。 如何解决问题: 操作步骤:点击“工具” → “选项”…