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


предложение 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