跟着键入包含上一个 SELECT 子句所列字段的表的名称,然后按 Enter。 要为其中某个表中的字段指定条件,请键入 WHERE,跟着键入字段名称、比较运算符(通常为等号 =)和条件。您还可以使用 AND 和 OR 关键字在 WHERE 子句的末尾添加其他条件。指定条件后,请按 Enter。 键入 UNION。如果您不希望查询在输出中删除重复行,请键入一个空格,跟着键入 ALL 关键字,然后按 Enter。 键入 SELECT,跟着键入要包括在查询中的下一个或下一组表中的字段列表。这些字段必须与第一个 SELECT 子句中包含的字段相对应且顺序相同。请使用逗号将各个字段名称隔开。在键入完字段名称后,请按 Enter。 键入 FROM,跟着键入要包括在查询中的下一个或下一组表的名称,然后按 Enter。 要为其中某个表中的字段指定条件,请键入 WHERE,跟着键入字段名称、比较运算符(通常为等号 =)和条件。您还可以使用 AND 关键字在 WHERE 子句的末尾添加其他条件。指定条件后,请按 Enter。 要在联合查询中包括其他 Select 语句,请重复步骤 7 到步骤 10。 请键入 ; 指示查询的末尾。 在“设计”选项卡上的“结果”组中,单击“运行”。 联合查询的结果将显示在“数据表”视图 (数据表视图:以行列格式显示来自表、窗体、查询、视图或存储过程的窗口。在数据表视图中,可以编辑字段、添加和删除数据,以及搜索数据。)中。 使用联合查询的提示- 如果您希望能够辨别各个行分别来自哪个表,可以在每个 Select 语句中添加一个文本字符串并将其用作一个字段。例如,如果有两个 Select 语句,一个要检索 Products 表中的字段,另一个则要检索 Services 表中的字段,您可以在第一个语句的末尾将字符串“Product”添加为字段,而在第二个语句的末尾将“Service”添加为字段。此外,您还可以使用 AS 关键字向这些字符串分配字段别名(例如“type”),如下面的示例中所示:
SELECT field1, field2, ... "Product" AS type SELECT field1, field2, ... "Service" AS type 该查询的输出将包括一个名为“type”的字段,其中会显示各个行是来自 Products 表,还是来自 Services 表。 - 每个 UNION 关键字将合并紧跟在它前面和后面的 SELECT 语句。如果您只在查询的部分 Union 关键字后使用了 ALL 关键字,则结果将包括由 UNION ALL 合并的 SELECT 语句对中的重复行,但不包括只用 UNION 而不用 ALL 关键字合并的 SELECT 语句中的重复行。
- 对于要合并在联合查询中的选择查询,虽然其字段的数目、数据类型和顺序都必须相对应,但如果出现不对应的情况,您也可以使用表达式(例如计算或子查询)让它们对应起来。例如,您可以让两个字符的年字段与四个字符的年字段匹配,方法是使用 Right 函数提取四个字符的年的后两位数字。
- 如果要使用某个联合查询的输出创建一个新表,可以将该联合查询用作一个新选择查询的输入,然后再将该选择查询用作生成表查询 (生成表查询:一种查询(SQL 语句),它创建一个新表,然后通过从一个现有表中复制记录,在新表中创建记录(行)。)的基础:
- 创建并保存该联合查询。
- 在“创建”选项卡上的“其他”组中,单击“查询设计”。
- 在“显示表”对话框中,单击“查询”选项卡。
- 双击该联合查询,然后关闭“显示表”对话框。
注释 如果消息栏中显示了安全警告,则说明可能禁用了生成表查询等动作查询。要允许动作查询运行,请单击消息栏上的“选项”,然后在“Microsoft Office 安全选项”中
|