Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-查询/SQL语句

全面掌握MS ACCESS SQL(36)

时 间:2018-01-22 09:37:29
作 者:Big Young   ID:252  城市:襄阳
摘 要:    UNION操作符的完整语法。
正 文:

第十一章 使用UNION建立联合查询

联合查询是可合并多个相似的选择查询的结果集。等同于将一个表追加到另一个表,从而实现将两个表的查询组合到一起,使用谓词为UNIONUNION ALL。将多个结果集合并成一个结果集,前提是列数相同,并且相应的列的类型相同。判断标准以第一个表的结果集为准,结果集的列名以第一个为准。

第一节 UNION操作符的完整语法

UNION操作符的作用是创建一个UNION(联合)查询,此查询包含两个或多个独立的表或查询构成的结果集,其完整的语法如下:

一、UNION(联合)查询的完整语法

[TABLE] query1 UNION [ALL] [TABLE] query2 [UNION [ALL] [TABLE] queryn [ … ]]

UNION操作包含以下部分:

部分

说明

query1 - queryn

一个Select语句、存储查询的名称或在 TABLE 关键字后面的存储表的名称。

二、关于UNION语法的几点注解

可以在单个UNION操作中以任何组合方式合并两个或两个以上的查询、表和Select语句的结果。下面的示例将一个名为New Accounts的现有表和一个Select语句进行合并:

TABLE [New Accounts] UNION ALL

Select *

FROM Customers

Where orderAmount > 1000;

默认情况下,使用UNION操作时不会返回重复的记录;但是,可以包含ALL谓词以确保返回所有记录。这样也会使查询运行得更快。

UNION操作中的所有查询必须请求相同数量的字段;但是,这些字段不必都具有相同的大小或数据类型。

请只在第一个Select语句中使用别名,因为别名在其他语句中会被忽略。在ORDER BY子句中,请根据第一个Select语句中使用的字段名来引用该字段。

可以在每个query参数中使用GROUP BYHAVING子句,以便对返回的数据进行分组。

可以在最后一个query参数的末尾使用ORDER BY子句,以便按指定顺序显示返回数据。

三、UNION(联合)查询编程实例

以下示例检索巴西的所有供应商和客户的名称和所在城市。

本示例调用EnumFields过程,您可以在Select语句示例中找到该过程。

Sub UnionX()

 

    Dim dbs As Database, rst As Recordset

 

    ' Modify this line to include the path to Northwind

    ' on your computer.

    Set dbs = OpenDatabase("Northwind.mdb")

    

    ' Retrieve the names and cities of all suppliers 

    ' and customers in Brazil.

    Set rst = dbs.OpenRecordset("Select CompanyName," _

        & " City FROM Suppliers" _

        & " Where Country = 'Brazil' UNION" _

        & " Select CompanyName, City FROM Customers" _

        & " Where Country = 'Brazil';")

    

    ' Populate the Recordset.

    rst.MoveLast

    

    ' Call EnumFields to print the contents of the 

    ' Recordset. Pass the Recordset object and desired

    ' field width.

    EnumFields rst, 12

 

    dbs.Close

 

End Sub



Access软件网官方交流QQ群 (群号:483923997)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助