CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ] TABLE table_name [ (column_name [, ...] ) ] AS query
CREATE TABLE AS はテーブルを作成し SELECT コマンドによって算出されるデータを格納します。テーブルの列は SELECT の出力列と関連する名前とデータ型を持ちます(ただし この列名は新しい列名を明示したリストを渡すことで無効にすることができます)。
CREATE TABLE AS はビューの作成と似ている部分がありますが、実際は全く異なります。CREATE TABLE AS は新しいテーブルを作成し、新しいテーブルの中身を初期化するために一度だけその問い合わせを評価します。以降行なわれた、問い合わせの元テーブルに対する変更は、新しいテーブルには反映されません。反対に、ビューは元となる SELECT 文を問い合わせられるたびに再評価します。
指定されている場合は、テーブルは一時テーブルとして作成されます。一時テーブルはセッションの終りに自動的に削除されます。同じ名前を持つ既存の永続テーブルは(このセッション内では)一時テーブルが存在する間は見ることができません。一時テーブル上に作られるインデックスは自動的に一時的なものになります。
LOCAL という単語は省略可能です。
新しく作られるテーブル名です。このテーブルは既に存在するものであってはなりません。しかし、既存の永続テーブルと同じ名前を持つ一時テーブルを作ることはできます。
新しいテーブルにおける列の名前です。カンマで区切られた列名のリストを使って複数の列名を指定することができます。列名を指定しない場合は、問い合わせの出力列名からとられます。
問い合わせ文(つまり、SELECT コマンド)です。認められる構文の説明は SELECT を参照してください。