On Monday, September 21, 2015, Amir Rohan <
amir.rohan@mail.com> wrote:
Instead of an expression, * can be written in the output list as a shorthand for all the columns of the selected rows.
Also, you can write table_name.* as a shorthand for the columns coming from just that table. In these cases it is not
possible to specify new names with AS; the output column names will be the same as the table columns' names.
But, the docs elsewhere feature a query example show the use of a wildcard for columns
as well as allowing you to assign names to as many of the leading columns as you wish:
WITH T0 as ( SELECT 1,2,3 )
SELECT T0.* from T0 as T0(foo,bar) ;
foo │ bar │ ?column?
─────┼─────┼──────────
1 │ 2 │ 3
(1 row)
The following curious variant also works:
WITH T0 as ( SELECT 1,2,3 )
SELECT justAnythingReally.* from T0 as justAnythingReally(foo,bar) ;
The synoposis/grammer at the top doesn't hint at this either. I've checked and this has been supported since at least 9.2 .
Neither of those examples is:
SELECT * AS "how would one alias this?" FROM table
So what's your point? Obviously you can alias stuff before it makes its way into a select-list that refers to it using *
In this case the FROM clause is what is being alised. It is documented though I'd need to look to identify the specific location. It would not be documented in a section regarding the select-list.
David J.