联合(合并)查询

当你希望将多个表或查询与类似字段的结果组合到一个结果数据集中而不执行任何关系连接时(即你希望一个接一个地列出一个数据集),你将使用 UNION 查​​询。但是,值得注意的是,必须在 SQL View 中手动创建这些查询。

UNION 查询的语法是

SELECT
  floatingpoint_field AS floatptfld,
  text_field
FROM first_table
  UNION
SELECT
  integer_field,
  decimal_field
FROM a_saved_query
  UNION
SELECT
  1.0,
  "hi there Jack"

并将返回一个包含字段(列)名称的双字段数据集:floatptfldtext_field

随后合并的表字段的数据类型(和数据样式)与系列中的第一个查询兼容至关重要。换句话说,如果第一个 SELECT 查询为第一列生成一个数字,则第二个查询还必须在第一列中返回一个数字。除了按顺序匹配字段类型外,SELECT 语句还必须返回相同数量的字段。结果数据表的字段名称继承自第一个表定义。

以下查询不合法,因为文本不能转换为十进制数据,浮点数也不能转换为整数(没有明确的截断或舍入和类型转换)。

SELECT
  integer_field AS this_really_wont_turn_out_well,
  decimal_field
FROM a_saved_query
  UNION
SELECT
  floatingpoint_field,
  text_field
FROM first_table