Criação de uma tabela a partir de uma tabela existente

Uma cópia de uma tabela existente pode ser criada usando uma combinação da instrução CREATE TABLE e da instrução SELECT. A nova tabela possui as mesmas definições de coluna. Todas as colunas ou colunas específicas podem ser selecionadas. Quando você criar uma nova tabela usando a tabela existente, a nova tabela será preenchida usando os valores existentes na tabela antiga.

Sintaxe

A sintaxe básica para criar uma tabela a partir de outra tabela é a seguinte -

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

Aqui, coluna1, coluna2 ... são os campos da tabela existente e os mesmos seriam usados ​​para criar campos da nova tabela.

Exemplo

A seguir está um exemplo, que criaria uma tabela SALÁRIO usando a tabela CUSTOMERS e tendo os campos ID do cliente e SALÁRIO do cliente -

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

Isso criaria uma nova tabela SALARY que terá os seguintes 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