VALUES 子句

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime

生成在查询中使用的内联临时表。

语法

VALUES {expression | ( expression [, ...] ) } [, ...] [table_alias]

SELECT expression [, ...] [table_alias]

参数

  • expression

    生成值的一个或多个值、运算符和 SQL 函数的组合。

  • table_alias

    允许按名称引用结果集的可选标签。

每个元组构成一行。

如果有多个行,则每个元组中的字段数必须匹配。

使用 VALUES 语法时,如果未指定元组,则每个表达式等同于单个字段元组。

使用 SELECT 语法时,所有表达式构成一个单行临时表。

每个元组的第 n 个字段必须共享一个最不常见的类型。 如果 table_alias 指定列名称,则列名数必须与每个元组的表达式数量相匹配。

结果是一个临时表,其中每列的类型是匹配的元组字段中最不常见的类型。

示例

-- single row, without a table alias
> VALUES ("one", 1);
  one    1

-- Multiple rows, one column
> VALUES 1, 2, 3;
 1
 2
 3

-- three rows with a table alias
> SELECT data.a, b
    FROM VALUES ('one', 1),
                ('two', 2),
                ('three', NULL) AS data(a, b);
   one    1
   two    2
 three NULL

-- complex types with a table alias
> SELECT a, b
  FROM VALUES ('one', array(0, 1)),
              ('two', array(2, 3)) AS data(a, b);
 one [0, 1]
 two [2, 3]

-- Using the SELECT syntax
> SELECT 'one', 2
 one 2