CREATE TABLE ASには、単純な形式で次の構文または概要があります。
CREATE TABLE new_table_name [ ( column [, ...] ) ] AS SELECT [ ( column [, ...] ) ] FROM existing table_name
SELECTステートメントは、データが複数のテーブルから取得される複雑な形式にすることができます。新しいテーブルの場合、列名は、列名をコンマ区切りのリストに含めることで指定できます。注意すべき非常に重要な点は、新しいテーブルのAS句の前の列リスト(指定されている場合はオプション)で、selectステートメントによって返されるターゲット列の数と同じ数の列が指定されている必要があることです。新しいテーブルの括弧内のオプションの列リストに、SELECTステートメントが返す行とは異なる行数が含まれている場合、次のエラーメッセージが表示されます。
エラー:CREATE TABLE /ASSELECTの列数が一致していません
最も単純な形式では、CREATE TABLE ASステートメントは、ステートメントを使用するだけで、すべての列とデータを含む既存のテーブルの完全なバックアップを作成します。
CREATE TABLE new_table_name AS SELECT * FROM existing_table_name