BigQuery 在一个查询中创建小型示例表

Jas*_*Jas 5 sql google-bigquery

我知道 BigQuery 现在支持CREATE TABLE ... AS SELECT...标准 SQL 的类似语法。但是有人有提供一些示例数据来生成此表的示例吗?

假设我想要两列名为A和B 的列。A值应为1,2,3,4,B值应为"Alpha", "Bravo", "Charlie", "Delta"。如何生成这样的查询并创建这样的表?我意识到这对于创建大型表效率不高,但想知道创建小型表的推荐方法。

Mik*_*ant 10

另一个不太详细的选项是

CREATE TABLE `PROJECT_ID.DATASET_NAME.NEW_TABLE_NAME` AS  
SELECT * FROM UNNEST([
  STRUCT(1 AS a, 'Alpha' AS b),
  (2, 'Bravo'),
  (3, 'Charlie'),
  (4, 'Delta')
])   
Run Code Online (Sandbox Code Playgroud)

或者使其更容易与现有 csv 一起重用

CREATE TABLE `PROJECT_ID.DATASET_NAME.NEW_TABLE_NAME` AS  
SELECT * FROM UNNEST([
  STRUCT(NULL AS a, '' AS b),
  (1, 'Alpha'),
  (2, 'Bravo'),
  (3, 'Charlie'),
  (4, 'Delta')
])
WHERE NOT a IS NULL
Run Code Online (Sandbox Code Playgroud)


Gor*_*off 7

怎么样select . . . union all?

create table t as
    select 1 as a, 'Alpha' as b union all
    select 2 as a, 'Bravo' as b union all
    select 3 as a, 'Charlie' as b union all
    select 4 as a, 'Delta' as b;
Run Code Online (Sandbox Code Playgroud)