SQL SELECT INTO: Como copiar registros em tabelas
Com o operador SQL SELECT INTO
, você copia registros selecionados para novas tabelas ou áreas de armazenamento temporárias. Essa é uma maneira rápida e confiável de se transferir dados, por manter a organização e a clareza dos registros.
O que é SQL SELECT INTO
?
A linguagem de programação para bancos de dados SQL oferece uma série de ferramentas profissionais de gerenciamento, análise e edição de bancos de dados. Entre elas estão comandos como o SQL SELECT
, que realiza diversas ações quando combinado a outros operadores. Com o SQL SELECT DISTINCT
, por exemplo, você consegue remover valores duplicados. O operador SELECT INTO
, por sua vez, copia registros de uma tabela e os transfere para outra. Tecnicamente, SELECT INTO
não é considerado uma função nem um comando SQL, operadores SQL. Ele costuma ser considerado uma cláusula em uma instrução SQL.
Conheça os fundamentos e funções mais importantes na nossa introdução ao SQL com exemplos.
Sintaxe de SELECT INTO
A sintaxe simples de SELECT INTO
é a seguinte:
Esses são os parâmetros que devem ser utilizados:
SELECT
: O comandoSELECT
define as colunas na tabela existente das quais você deseja copiar os dados. Você pode especificar nomes de colunas específicos ou usar o asterisco*
para copiar todos os dados da tabela de origem.INTO
: Define e nomeia a nova tabela de destino para os registros copiados.FROM
: Seleciona a tabela existente da qual você deseja copiar os registros.WHERE
: Com a cláusula opcional SQLWHERE
, você define condições adicionais específicas que os dados a serem copiados da tabela de origem devem cumprir.
Quando usar o operador SELECT INTO
Basicamente, SQL SELECT INTO
é adequado para transferir dados para uma nova tabela. Outras aplicações incluem agregação, armazenamento temporário e extração de registros ou subconjuntos. Removendo duplicatas com DISTINCT
, por exemplo, você também conseguirá limpar e reduzir os dados obtidos.
Geralmente SELECT INTO
é usado, de forma prática, nas seguintes situações:
- Copiar, extrair e transferir dados de clientes, pedidos, pacientes e produtos para novos projetos, estudos ou em migrações de dados.
- Análises de tendências e de marketing, por dados agregados de pedidos e vendas.
- Análises de dados financeiros por transferências de dados de transações.
- Limpeza de dados de clientes ou funcionários removendo duplicatas em novas tabelas.
- Coletas e análises de dados em armazéns de dados.
- Coletas de dados para modelos de aprendizado de máquina.
Você está em busca de um sistema de gerenciamento de banco de dados escalável e seguro? Conheça o SQL Server Hosting da IONOS e obtenha ofertas personalizadas de servidores e de hospedagem.
Hospedagem VPS poderosa e de baixo custo para rodar suas aplicações sob medida, com assistente pessoal e suporte 24 horas.
- Armazenamento 100% SSD
- Pronto em 55 segundos
- Certificado SSL
Exemplos práticos de SQL SELECT INTO
Para ilustrar como o SQL SELECT INTO
funciona, elaboramos dois exemplos práticos.
Selecionar e transferir clientes únicos
Na tabela “Pedidos”, você deseja selecionar toas as entradas únicas da coluna “NomeCliente” sem duplicatas, e transferi-las para uma nova tabela de nome “PedidosNovo”. Para fazer isso, proceda da seguinte forma:
Transferir entradas de clientes de uma determinada região
Com a cláusula WHERE
, você pode definir dados de clientes com condições adicionais. Se, por exemplo, você quiser transferir todas as entradas com nomes de clientes do Brasil, deve proceder da seguinte forma:
SQL Server:
MySQL, PostgreSQL, SQlite:
Alternativas a SQL SELECT INTO
Além de SELECT INTO
, existem outras opções em SQL para copiar e transferir dados entre tabelas. Abaixo estão as mais utilizadas:
INSERT INTO SELECT
: Com SQLINSERT INTO SELECT
, você também copia e transfere registros selecionados ou resultados em combinação comSELECT
de uma tabela para uma tabela já existente. A diferença está no fato de que comSELECT INTO
é possível criar uma nova tabela para a cópia e transferência.CREATE TABLE AS
: Com a instrução SQLCREATE TABLE
, você pode criar uma nova tabela. Em combinação com SQLSELECT
eAS
, você pode definir adicionalmente que a nova tabela seja baseada nos resultados da instruçãoSELECT
, contendo assim os dados selecionados de uma tabela existente.UNION
ouUNION ALL
: Com o operador SQLUNION
, você combina registros de tabelas e colunas selecionadas em uma nova tabela de saída sem duplicatas. Em combinação com o operador lógicoALL
, você especifica que todos os registros de uma tabela, incluindo duplicatas, sejam considerados.IMPORT TABLE
: A instruçãoIMPORT TABLE
é adequada apenas quando você deseja importar registros de tabelas e arquivos externos para uma tabela. A instrução está disponível principalmente em versões mais recentes do SQL.LOAD DATA INFILE
: A instrução funciona basicamente comoIMPORT TABLE
, mas oferece uma aplicação mais flexível, embora mais complexa, e suporta mais formatos para fontes de dados externas. Está disponível em todas as versões do SQL.