SQL: INSERT INTO SELECT
Gabarito: letra E. A instrução INSERT INTO SELECT é a única que copia dados de uma tabela e os insere em outra tabela já existente, respeitando a correspondência de tipos de dados entre as colunas de origem e destino.
A banca testa o conhecimento dos comandos SQL de manipulação de dados (DML). O comando INSERT INTO SELECT é amplamente utilizado para transferir dados entre tabelas.
Alternativa A — ❌ Incorreta
SELECT DISTINCT TABLE não é um comando SQL válido. SELECT DISTINCT é usado para eliminar duplicatas em uma consulta, e TABLE não é uma cláusula nesse contexto.
Alternativa B — ❌ Incorreta
INSERT VALUES insere linhas específicas fornecidas explicitamente, não copia dados de outra tabela. Exemplo: INSERT INTO tabela VALUES (1, 'a').
Alternativa C — ❌ Incorreta
SELECT INTO é utilizado em alguns SGBDs (como SQL Server) para criar uma nova tabela a partir do resultado de uma consulta, mas não insere em uma tabela existente. O comando correto para inserir em tabela existente é INSERT INTO ... SELECT.
Alternativa D — ❌ Incorreta
INNER JOIN SELECT não é um comando autônomo. INNER JOIN é uma cláusula usada dentro de SELECT para combinar dados de duas ou mais tabelas, mas não realiza cópia de dados para outra tabela.
Alternativa E — ✅ Correta ⟵ GABARITO
INSERT INTO SELECT permite selecionar dados de uma ou mais tabelas (origem) e inseri-los em outra tabela já existente (destino), desde que as colunas correspondam em tipo e ordem. Exemplo:
INSERT INTO destino (col1, col2)
SELECT col1, col2 FROM origem WHERE condicao;
Gabarito: letra E.