Crear una tabla a partir de una tabla existente

Se puede crear una copia de una tabla existente usando una combinación de la instrucción CREATE TABLE y la instrucción SELECT. La nueva tabla tiene las mismas definiciones de columna. Se pueden seleccionar todas las columnas o columnas específicas. Cuando cree una nueva tabla usando la tabla existente, la nueva tabla se completará usando los valores existentes en la tabla anterior.

Sintaxis

La sintaxis básica para crear una tabla a partir de otra tabla es la siguiente:

CREATE TABLE NEW_TABLE_NAME AS
   SELECT [ column1, column2...columnN ]
   FROM EXISTING_TABLE_NAME
   [ WHERE ]

Aquí, column1, column2 ... son los campos de la tabla existente y los mismos se usarían para crear campos de la nueva tabla.

Ejemplo

A continuación se muestra un ejemplo, que crearía una tabla SALARIO utilizando la tabla CLIENTES y teniendo los campos ID de cliente y SALARIO del cliente -

SQL> CREATE TABLE SALARY AS
   SELECT ID, SALARY
   FROM CUSTOMERS;

Esto crearía una nueva tabla SALARIO que tendrá los siguientes registros:

+----+----------+
| ID | SALARY   |
+----+----------+
|  1 |  2000.00 |
|  2 |  1500.00 |
|  3 |  2000.00 |
|  4 |  6500.00 |
|  5 |  8500.00 |
|  6 |  4500.00 |
|  7 | 10000.00 |
+----+----------+
sql-create-table.htm