CREATE TABLE AS tiene la siguiente sintaxis o sinopsis en forma simple:
CREATE TABLE new_table_name [ ( column [, ...] ) ] AS SELECT [ ( column [, ...] ) ] FROM existing table_name
La declaración SELECT puede estar en una forma compleja donde los datos se recuperan de varias tablas. Para la nueva tabla, los nombres de las columnas se pueden especificar al incluir los nombres de las columnas en una lista delimitada por comas. Un punto muy importante a tener en cuenta es que debe haber la misma cantidad de columnas especificadas en la lista de columnas que preceden a la cláusula AS (opcional, si se especifica) para la nueva tabla como la cantidad de columnas de destino que devuelve la declaración de selección. Si la lista opcional de columnas entre paréntesis de la nueva tabla contiene un número de filas diferente al de las filas que devuelve la instrucción SELECT, se mostrará el siguiente mensaje de error:
ERROR:CREATE TABLE/AS SELECT tiene un recuento de columnas no coincidente
En su forma más simple, la declaración CREATE TABLE AS creará una copia de seguridad completa de una tabla existente que incluye todas las columnas y datos simplemente usando la declaración:
CREATE TABLE new_table_name AS SELECT * FROM existing_table_name