42954


以下のようにサブクエリを使うSQL文を書いていて気づいたのですが

[code]

    SELECT
      companies.code, oldest_record.traded_at 
     FROM
      (SELECT
         company_id, MAX(traded_at) AS traded_at
       FROM
         trading_records
       GROUP BY
         company_id) AS oldest_record
    INNER JOIN
      companies
    ON
      companies.id = oldest_record.company_id;
    
[/code]

`company_id) AS oldest_record` の部分の`AS`を外して書く人も多く省略可能だとわかりました。

どのような条件で省略可能なのか、また省略するのは推奨された書き方なのかを知りたく公式ドキュメントの [Chapter 4. SQL
Syntax](https://www.postgresql.org/docs/9.6/static/sql-syntax.html)
あたりを調べてみたのですが、どこに`AS`に関する記述があるか見つけられませんでした。

`AS`の省略できる条件と推奨される書き方などについての公式・準公式のドキュメントはどこを探せば見つかるでしょうか？

`PostgreSQL`についての質問としましたが、一般的な慣習で決まっているのであればそちらを教えてもらえると助かります。


CC BY-SA 3.0
2018-04-05T04:40:39.050
42946
2018-04-05T07:08:03.310
3271
question
sql postgresql
PostgresのSQL文でのASの省略について


<https://www.postgresql.org/docs/9.6/static/sql-select.html>  
記載がありました。以下はコピペ。

> SELECT List The SELECT list (between the key words SELECT and FROM)  
>  specifies expressions that form the output rows of the SELECT  
>  statement. The expressions can (and usually do) refer to columns  
>  computed in the FROM clause.
>
> Just as in a table, every output column of a SELECT has a name. In a  
>  simple SELECT this name is just used to label the column for display,  
>  but when the SELECT is a sub-query of a larger query, the name is seen  
>  by the larger query as the column name of the virtual table produced  
>  by the sub-query. To specify the name to use for an output column,  
>  write AS output_name after the column's expression. (You can omit AS,  
>  but only if the desired output name does not match any PostgreSQL  
>  keyword (see Appendix C). For protection against possible future  
>  keyword additions, it is recommended that you always either write AS  
>  or double-quote the output name.) If you do not specify a column name,  
>  a name is chosen automatically by PostgreSQL. If the column's  
>  expression is a simple column reference then the chosen name is the  
>  same as that column's name; in more complex cases a generated name  
>  looking like ?columnN? is usually chosen.

[こちら](https://www.postgresql.org/docs/9.6/static/sql-keywords-
appendix.html)に記載があるもの以外はasを省略してもいいみたいですね。  
でもドキュメント上では AS を常に使う、もしくは""で囲う事が推奨されています。


CC BY-SA 3.0
2018-04-05T07:08:03.310
42954
2018-04-05T07:08:03.310
24823
42946
answer