Поделиться через


Предложение VALUES

Область применения: флажок Databricks SQL флажок Databricks Runtime

Создает встроенную временную таблицу для использования в запросе.

Синтаксис

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

SELECT expression [, ...] [table_alias]

Параметры

  • выражение

    Сочетание одного или нескольких значений, операторов и функций 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