Klauzule VALUES
Platí pro: Databricks SQL Databricks Runtime
Vytvoří vloženou dočasnou tabulku pro použití v dotazu.
Syntaxe
VALUES {expression | ( expression [, ...] ) } [, ...] [table_alias]
SELECT expression [, ...] [table_alias]
Parametry
-
Kombinace jedné nebo více hodnot, operátorů a funkcí SQL, jejichž výsledkem je hodnota.
-
Volitelný popisek, který umožní odkazování na sadu výsledků podle názvu.
Každá řazená kolekce členů představuje řádek.
Pokud existuje více než jeden řádek, musí se počet polí v každé řazené kolekci členů shodovat.
Při použití VALUES
syntaxe, pokud nejsou zadány žádné řazené kolekce členů, každý výraz odpovídá jedné řazené kolekci členů pole.
Při použití SELECT
syntaxe všechny výrazy představují jednu dočasnou tabulku řádku.
Nth pole každé řazené kolekce členů musí sdílet nejméně společný typ.
Pokud table_alias
zadáte názvy sloupců, musí jejich číslo odpovídat počtu výrazů na řazenou kolekci členů.
Výsledkem je dočasná tabulka, ve které je typ každého sloupce nejmenším běžným typem odpovídajících polí řazených kolekcí členů.
Příklady
-- 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