TOP

SQL SELECT INTO

SELECT INTO Descrição

A instrução SQL SELECT INTO copia dados de uma tabela para uma nova tabela.


SELECT INTO Sintaxe

Copiamos todas as colunas para uma nova tabela:

SELECT *
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition

Vamos copiar apenas algumas colunas para uma nova tabela:

SELECT column1, column2, column3, ...
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition

Uma nova tabela será criada com nomes de colunas e tipos de dados definidos na tabela antiga. Você pode criar novos nomes de colunas usando a expressão AS.

Exemplos SQL SELECT INTO

A seguinte instrução SQL faz backup dos clientes:

SELECT * INTO CustomersBackup2017
FROM Customers

A instrução SQL a seguir usa a expressão IN para copiar uma tabela para uma nova tabela em outro banco de dados:

SELECT * INTO CustomersBackup2017 IN 'Backup.mdb'
FROM Customers

A seguinte instrução SQL copia apenas algumas colunas selecionadas para uma nova tabela:

SELECT CustomerName, ContactName INTO CustomersBackup2017
FROM Customers

A instrução SQL a seguir copia apenas clientes alemães em uma nova tabela:

SELECT * INTO CustomersGermany
FROM Customers
WHERE Country = 'Germany'

A instrução SQL a seguir copia dados de diversas tabelas em uma nova tabela:

SELECT Customers.CustomerName, Orders.OrderID
INTO CustomersOrderBackup2017
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
SQL SELECT INTO também pode ser usado para criar uma nova tabela vazia usando um esquema diferente. Basta adicionar uma expressão WHERE que fará com que a consulta não retorne dados da tabela de origem:
SELECT * INTO newtable
FROM oldtable
WHERE 1 = 0