On Monday, September 21, 2015, Amir Rohan <amir.ro...@mail.com> wrote:

>
> From http://www.postgresql.org/docs/9.4/static/sql-select.html (and
> previous version too):
>   ##SELECT List
>     <...>
>     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.

Reply via email to