O comando CREATE TABLE AS cria e carrega uma tabela com dados produzidos pelo comando SELECT. As colunas da tabela possuem os nomes e tipos de dado associados às colunas da saída produzida pelo comando SELECT (exceto que é possível substituir os nomes das colunas fornecendo-se uma lista explícita de novos nomes de colunas).
O comando CREATE TABLE AS exibe alguma semelhança com a criação de uma visão, mas na realidade é bastante diferente: este comando cria a nova tabela e executa a consulta apenas uma vez para fazer a carga inicial dos dados da nova tabela. A nova tabela não vai ter conhecimento das próximas mudanças ocorridas na tabela de origem da consulta. Contrastando com este comportamento, uma visão executa novamente o comando SELECT sempre que é consultada.
Se for especificado, a tabela é criada como uma tabela temporária. Tabelas temporárias são automaticamente eliminadas no final da sessão. Uma tabela persistente com o mesmo nome, caso exista, não será vista na sessão enquanto a tabela temporária existir. Todo índice criado em tabela temporária também é temporário.
A palavra LOCAL é opcional.
O nome da nova tabela a ser criada. A tabela não pode existir. Entretanto, pode ser criada uma tabela temporária que possua o mesmo nome de uma tabela permanente existente.
O nome da coluna da nova tabela. Vários nomes de colunas podem ser especificados utilizando uma lista de nomes separados por vírgula. Se os nomes das colunas não forem fornecidos, serão obtidos a partir dos nomes das colunas produzidas pela consulta.
Uma declaração de consulta (ou seja, um comando SELECT). Consulte o comando SELECT para obter a descrição da sintaxe permitida.
Consulte os comandos CREATE TABLE e SELECT para obter um sumário das possíveis mensagens de saída.
Este comando é funcionalmente equivalente ao SELECT INTO mas é preferível, porque é menos propenso a ser confundido com outros usos da sintaxe do comando SELECT ... INTO.