支持BigQuery SQL中的UNION功能

mda*_*man 20 sql union google-bigquery

BigQuery似乎还没有支持UNION:https: //developers.google.com/bigquery/docs/query-reference

(我的意思并不是说将源表联合起来.它就是这样.)

它即将推出吗?

Jor*_*ani 50

如果您想要UNION以便可以组合查询结果,则可以在BigQuery中使用子选择:

SELECT foo, bar 
FROM
  (SELECT integer(id) AS foo, string(title) AS bar 
   FROM publicdata:samples.wikipedia limit 10),
  (SELECT integer(year) AS foo, string(state) AS bar 
   FROM publicdata:samples.natality limit 10);
Run Code Online (Sandbox Code Playgroud)

这几乎完全等同于SQL

SELECT id AS foo, title AS bar 
FROM publicdata:samples.wikipedia limit 10
UNION ALL
SELECT year AS foo, state AS bar 
FROM publicdata:samples.natality limit 10;
Run Code Online (Sandbox Code Playgroud)

(注意,如果想要SQL UNION而不是UNION ALL,这将不起作用)

或者,您可以运行两个查询并附加结果.

  • 就像你提到的那样,这不是一个UNION,而是一个UNION ALL [见其他帖子](http://stackoverflow.com/questions/49925/what-is-the-difference-between-union -and-工会所有) (2认同)

ole*_*ebo 5

BigQuery 最近增加了对标准 SQL 的支持,包括UNION操作


当通过 Web UI 提交查询时,只需确保取消选中 SQL Version rubric 下的“Use Legacy SQL”: 在此处输入图片说明

  • 但重要的是,您应该将 UNION 与第二个关键字一起使用:UNION ALL 或 UNION DISTINCT,请参阅 [以下链接](https://cloud.google.com/bigquery/docs/reference/standard-sql/query-语法#union) (2认同)