快速业务通道

Access 2007使用联合查询合并多个选择查询的结果

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-03-19
nbsp; 这是一个 SELECT 子句,用于引入选择查询。SELECT 后面跟有一个标识符列表,用于指示要从中检索数据的字段。SELECT 子句必须始终至少列出一个字段。此 SELECT 子句列出了字段标识符 namepricewarranty_availableexclusive_offer
  • FROM Products  这是一个 FROM 子句。FROM 子句跟在 SELECT 子句之后,二者共同构成了一个基本的 Select 语句。FROM 后也跟有一个标识符列表,用于指示哪些表包含 SELECT 子句中列出的字段。FROM 子句必须始终至少列出一个表。此 FROM 子句列出了表标识符 Products
  • UNION ALL  这是一个 UNION 关键字以及一个可选的 ALL 关键字。UNION 指示将 UNION 前后的 SELECT 语句的结果合并在一起。

    在使用 ALL 关键字时,Union 生成的合并集中并不删除重复行。这样,Access 便无需检查重复行的结果,从而可以显著提高查询的性能。如果满足下列任一条件,则应使用 ALL 关键字:

    • 您确定选择查询不会生成任何重复行。
    • 结果中是否存在重复行无关紧要。
    • 您希望查看重复行。

     

    在本示例中,我们使用 ALL 关键字是因为我们既不期望会返回重复行,也没有略去它们的必要。

  • SELECT name, price, guarantee_available, exclusive_offer  这是第二个 SELECT 子句,用于引入联合查询中的第二个 SELECT 语句。在编写联合查询时,各个 SELECT 语句中的字段必须相互对应,这意味着各个 SELECT 语句必须具有相同的字段数,并且共享通用数据的字段必须以相同的顺序出现在子句中,同时这些字段必须具有相同或兼容的数据类型,如示例中所示。只有这些字段相互对应,才能在查询输出中将它们合并在一起。

     注释   联合查询输出中的字段名称从第一个 SELECT 子句中提取。因此,在本示例的查询输出中,来自字段“warranty_available”和“guarantee_available”的数据将被命名为“warranty_available”。

  • FROM Services  这是第二个 FROM 子句,用于完成联合查询中的第二个 SELECT 语句。与 SELECT 子句中的字段不同,联合查询对 FROM 子句没有表限制。您既可以创建在每个 FROM 子句中都使用相同的表的联合查询,也可以在 FROM 子句中使用不同数目的表。在我们的示例中,每个 FROM 子句都只有一个表。
  •  

    创建联合查询

    创建联合查询有两种基本方法:

    • 先在查询“设计”视图 (设计视图:显示数据库对象(包括:表、查询、窗体、宏和数据访问页)的设计的窗口。在设计视图中,可以新建数据库对象和修改现有数据库对象的设计。)中创建各个组件选择查询,然后将这些查询合并为一个联合查询。
    • 直接在 SQL 视图 (SQL 视图:用于显示当前查询的 SQL 语句或用于创建 SQL 特有查询(联合查询、传递查询或数据定义查询)的窗口。在设计视图中创建查询时,Access 会在 SQL 视图中构建 SQL 的等价查询。)中创建整个联合查询。

    在大多数情况下,您都应该先创建选择查询,然后再将它们合并为一个联合查询。在 Office Access 2007 中,“设计”视图提供了一种易用的创建选择查询的图形用户界面,您可以复制这些查询的 SQL 语句并将它们粘贴到联合查询中。

    但是,如果您认为编写 SQL 语句得心应手,或者希望获得更多的 SQL 编写体验,则可能更倾向于直接在 SQL 视图中创建联合查询。


    先在“设计”视图中创建选择查询,然后合并它们

    按照此方法,将先使用“设计”视图创建每个选择查询,然后使用 SQL 视图合并选择查询。

    在“设计”视图中创建每个选择查询

    1. “创建”选项卡上的“其他”组中,单击“查询设计”
    2. “显示表”

    凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

    分享到: 更多

    Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

    地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

    电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

    《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号