web-dev-qa-db-ja.com

`TABLE example`構文は何と呼ばれますか?

PostgreSQLでは、私は次のような構文を使用しています

TABLE example1
UNION ALL
TABLE example2

と同等であると理解しています

SELECT * FROM example1
UNION ALL
SELECT * FROM example2

しかし、同僚からこれについて質問があり、この構文に関するPostgreSQLドキュメントは見つかりません。 (「TABLE」は有用な検索フレーズではありません。)それに関するドキュメントはどこにありますか?

ANSI SQL標準ですか?

5
Paul Draper

[〜#〜] select [〜#〜] ステートメントでドキュメント化されており、そこでは「TABLEコマンド」と呼ばれています。

SQL標準では、「明示的なテーブル」と呼ばれています。

<explicit table>

TABLE <table or query name>

と同等です

( SELECT * FROM <table or query name> )


これは少なくとも SQL 1992 以降、標準の一部のようです。

12

「TABLE example1」のような構文を使用しています... ...「SELECT * FROM example1」と同等

...そして、これらのを実際に行うべきではありません。

取得する列を常に指定しますexplicitly

データベースは本質的に共有された構造であり、誰かが[他の人]が突然20のblobフィールドを以前の小さなテーブルにダンプするかどうかを制御できず、それによってyourアプリケーションのパフォーマンス。これは、コードが正確にzero関心を持つこれらすべての無関係な列を引き戻すためです。

0
Phill W.