CREATE TABLE AS tem a seguinte sintaxe ou sinopse de forma simples:
CREATE TABLE new_table_name [ ( column [, ...] ) ] AS SELECT [ ( column [, ...] ) ] FROM existing table_name
A instrução SELECT pode estar em um formato complexo onde os dados são recuperados de várias tabelas. Para a nova tabela, os nomes das colunas podem ser especificados incluindo os nomes das colunas em uma lista delimitada por vírgulas. Um ponto muito importante a ser observado é que deve haver o mesmo número de colunas especificadas na lista de colunas que precede a cláusula AS (opcional, se especificada) para a nova tabela que o número de colunas de destino que são retornadas pela instrução select. Se a lista opcional de colunas entre parênteses da nova tabela contiver um número de linhas diferente das linhas que a instrução SELECT retorna, a seguinte mensagem de erro será exibida:
ERRO:CREATE TABLE/AS SELECT tem contagem de colunas incompatíveis
Em sua forma mais simples, a instrução CREATE TABLE AS criará um backup completo de uma tabela existente, incluindo todas as colunas e dados, simplesmente usando a instrução:
CREATE TABLE new_table_name AS SELECT * FROM existing_table_name