values
and select
: FROM (VALUES | SELECT …) t(c1, c2)
select
: FROM (SELECT …) t(c1, c2)
values
, but then required: FROM (VALUES …) t(c1, c2)
Besides the tables names, the columns names can be renamed in the from
and join
clauses.
SELECT …
FROM tbl_a [AS] a(a1, a2, …)
JOIN tbl_b [AS] b(b1, b2, …)
This is typically used to assign names to column that don’t have a use-assigned name—such as columns produced by values
or unnest
:
SELECT b, a
FROM (VALUES (1, 'a')
) t(a, b)
The SQL standard requires all columns to be renamed.
Some systems allow renaming fewer columns as the table has so that only the first few columns are renamed.
E051-05, “Select list items can be renamed”
E051-09, “Rename columns in the FROM clause”, is an mandatory feature of ISO/IEC 9075-2:2023. The functionality first appeared in SQL:92 (intermediate).0 It became mandatory in 1999.
You can’t catch up on 20 years of SQL evolution in one day. Subscribe the newsletter via E-Mail, Bluesky or RSS to gradually catch up and to keep modern-sql.com on your radar.
The essence of SQL tuning in 200 pages
Buy now!
(paperback and/or PDF)
Paperback also available at Amazon.com.
Markus offers SQL training and consulting for developers working at companies of all sizes.
Learn more »
ISO/IEC 9075:1992 §6.3 LR 2c