content/shared/sql-reference/table-value-constructor.md
The table value constructor (TVC) uses the VALUES keyword to specify a set of
row value expressions to construct into a table.
The TVC can be used in the FROM clause <!-- or `JOIN` clauses -->
to build an ad hoc table at query time.
VALUES (row_value_list)[,...n]
SELECT
expression[,...n]
FROM
(VALUES (row_value_list)[,...n]) [AS] table_name(column_name[,...n])
[!Note] When using the TVC, the
ASkeyword is optional and implied when naming the table and providing column names.
SELECT *
FROM
(VALUES ('2023-01-01 12:00:00'::TIMESTAMP, 1.23, 4.56),
('2023-01-01 13:00:00'::TIMESTAMP, 2.46, 8.1),
('2023-01-01 13:00:00'::TIMESTAMP, 4.81, 16.2)
) AS data(time, f1, f2)
| time | f1 | f2 |
|---|---|---|
| 2023-01-01T12:00:00Z | 1.23 | 4.56 |
| 2023-01-01T13:00:00Z | 2.46 | 8.1 |
| 2023-01-01T13:00:00Z | 4.81 | 16.2 |