精通MS-ACCESS SQL之基础篇(11)
时 间:2017-11-30 17:58:37
作 者:Big Young ID:252 城市:襄阳
摘 要: 运用UNION操作符来合并结构相同的表或查询。
正 文:
第十一节 运用UNION操作符来合并结构相同的表或查询
在实际工作中,特别是在录入数据时,大量的数据需要多人录入,相同结构的记录被存放在不同的表中,录入完成后就需要合成为一个表。有时候需要在不同的数据库表之间提取相同结构的数据组成新记录集,这些工作都需要进行表或查询的合并,要完成这类工作就必须运用SQL的UNION操作符创建合并查询,通过创建一个UNION(合并)查询来将两个或更多的独立查询或表合并在一起,生成一个记录集。
一、UNION(合并)查询的基本语法
[TABLE] query1 UNION [ALL] [TABLE] query2 [UNION [ALL] [TABLE] queryn [ … ]]
合并操作有以下几部分:
1、由TABLE引导的已存储的表的名字;
2、“query1-n”可以是一系列Select查询语句;
3、“query1-n”也可以是存储在数据库中的选择查询。
下面通过具体的实例来分别说明,我们还是以“学生成绩”管理为例:如有多个记录学生成绩的表,为了简化说明,我们只用三个结构一样表“成绩1”、“成绩2”和“成绩3”三个表,它们的表结构相同,都具有“考生号”、“姓名”、“语文”、“数学”、“英语”和“综合”等字段,现在需要将“成绩1-3”三个表中的数据合并到一起,我们可以直接使用表的联合查询来完成。
二、多个表的UNION(合并)查询
这个操作是直接将表合并在一起,为了使大家能正确地认识合并操作的真实的情况,在操作前我们还是先浏览一下各表的内容,看下面的各图:
图11-1:“成绩1”表中的记录
“成绩2”与“成绩3”表中的内容格式与“成绩1”表类似,由于篇幅原因就不再列出了。下面我们来创建表的合并查询:
TABLE 成绩1 UNION TABLE 成绩2 UNION TABLE 成绩3;
运行查询后结果如图11-2所示:
图11-2:运行多表合并查询的结果
由于记录较多,截图只能反映一部分,通过浏览和对比我们可以确认查询的结果确实是三个表中的全部内容,操作达到查询的目的。
三、多个查询结果的UNION(合并)操作
有时我们前不想要全部表是的所有数据记录,只想筛选出一部分来合并在一起,这时我们就可以并多个查询合并为一个来显示查看,还是用前面的三个表来说明,比如我们只想将三个表中的总分大于500分的考生的数据合并查看,我们可以用下面的SQL语句,如图11-3所示:
图11-3:将多个查询合并在一起的UNION语句
执行此查询后其运行结果如图11-4所示:
图11-4:多个查询合并在一起的效果
UNION(合并)查询中的关键字ALL只是将所有的重复记录也显示出来,因为合并查询默认是排除重复记录的,这里就不再对此作过多的说明了。
四、将Select查询与TABLE查询进行UNION(合并)
这种操作其实就是前面两种形式的混合方式,并没有什么特别之处,如语句:
Select * FROM 成绩1 UNION TABLE 成绩2 UNION TABLE 成绩3;
如图11-5所示:
图11-5:查询与表合并语句
运行后合并的结果与图11-2一致,这里就不再列出了。
Access软件网官方交流QQ群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- 统计当月之前(不含当月)的记录...(03.11)
- 【Access Inputbo...(03.03)
- 按回车键后光标移动到下一条记录...(02.12)
- 【Access Dsum示例】...(02.07)
- Access对子窗体的数据进行...(02.05)
- 【Access高效办公】上月累...(01.09)
- 【Access高效办公】上月累...(01.06)
- 【Access Inputbo...(12.23)
- 【Access Dsum示例】...(12.16)

学习心得
最新文章
- 32位的Access软件转化为64...(04.12)
- 【Access高效办公】如何让vb...(04.11)
- 仓库管理实战课程(10)-入库功能...(04.08)
- Access快速开发平台--Fun...(04.07)
- 仓库管理实战课程(9)-开发往来单...(04.02)
- 仓库管理实战课程(8)-商品信息功...(04.01)
- 仓库管理实战课程(7)-链接表(03.31)
- 仓库管理实战课程(6)-创建查询(03.29)
- 仓库管理实战课程(5)-字段属性(03.27)
- 设备装配出入库管理系统;基于Acc...(03.24)