Resumo: neste tutorial, você aprenderá como usar o SQL Server INSERT INTO SELECT
para adicionar dados de outras tabelas a uma tabela.
Introdução ao SQL Server INSERT INTO SELECT instrução
Para inserir dados de outras tabelas em uma tabela, use o seguinte SQL Server INSERT INTO SELECT
instrução:
Code language: SQL (Structured Query Language) (sql)
Nesta sintaxe, a instrução insere linhas retornadas pelo query
em target_table
.
O query
é qualquer instrução que recupera dados de outras tabelas. Deve retornar os valores que correspondem às colunas especificadas em column_list
.
A parte da cláusula TOP
é opcional. Ele permite que você especifique o número de linhas retornadas pela consulta a serem inseridas na tabela de destino. Se você usar a opção PERCENT
, a instrução irá inserir a porcentagem de linhas. Observe que é uma prática recomendada sempre usar a cláusula TOP
com a cláusula ORDER BY
.
SQL Server INSERT Exemplos INTO SELECT
Vamos criar uma tabela chamada addresses
para a demonstração:
1) Insira todas as linhas de outro exemplo de tabela
A instrução a seguir insere todos os endereços da tabela customers
na tabela addresses
:
Para verificar a inserção, você usa a seguinte consulta:
Code language: SQL (Structured Query Language) (sql)
Aqui está o resultado:
2) Insira algumas linhas de outro exemplo de tabela
Às vezes, você só precisa inserir algumas linhas de outra tabela em uma tabela. Nesse caso, você limita o número de linhas retornadas da consulta usando as condições da cláusula WHERE
.
A instrução a seguir adiciona os endereços das lojas localizadas em Santa Cruz
e Baldwin
para a tabela addresses
:
SQL O servidor retornou a seguinte mensagem indicando que duas linhas foram inseridas com sucesso.
Code language: SQL (Structured Query Language) (sql)
3) Insira o N superior das linhas
Primeiro, você usa a seguinte instrução para excluir todas as linhas da tabela addresses
:
Code language: SQL (Structured Query Language) (sql)
Segundo, para inserir a parte superior 10 clientes classificados por seus nomes e sobrenomes, você usa a instrução INSERT TOP INTO SELECT
da seguinte maneira:
O SQL Server retornou a seguinte mensagem, mostrando que dez linhas foram inseridas com sucesso.
Code language: SQL (Structured Query Language) (sql)
4) Insira a porcentagem superior das linhas
Em vez de usar um número absoluto de linhas, você c e inserir um número percentual de linhas em uma tabela.
Primeiro, truncar todas as linhas da addresses
tabela:
Code language: SQL (Structured Query Language) (sql)
Em segundo lugar, insira os dois por cento superiores das linhas da customers
tabela classificada por nomes e sobrenomes na addresses
table:
SQL Server emitiu a seguinte mensagem indicando que 145 linhas foram inseridas com sucesso.
Code language: SQL (Structured Query Language) (sql)
Neste tutorial, você aprenderam a usar a instrução INSERT INTO SELECT
do SQL Server para inserir linhas de outras tabelas em uma tabela.