Questão de Banco de Dados — Consultas e Comandos em SQL — FCC 2026
Banco de Dados›Consultas e Comandos em SQL
Código
fc142367
Banca
FCC
Órgão
MPE SE
Ano
2026
Cargo
Ana ( )
Uma analista deseja elaborar um relatório com registros consolidados e, para isso, criou a seguinte consulta SQL: SELECT numero, 'Inquérito' AS tipo FROM InqueritoPolicial UNION SELECT numero, 'Procedimento' AS tipo FROM ProcedimentoAdministrativo; Em condições ideais, considerando o funcionamento do operador UNION, essa consulta
Aretornará os dados mantendo separados os resultados de cada SELECT, sem mesclá-los.
Bunirá os resultados retornando todos os registros, inclusive os duplicados, já que não há cláusula DISTINCT explícita.
Cretornará apenas os números que estiverem presentes em ambas as tabelas, funcionando como uma interseção.
Dretornará os números de inquéritos e procedimentos em um único conjunto, eliminando registros duplicados de forma implícita.
Eordenará os resultados automaticamente pelo campo Inquérito, pois UNION impõe ordenação alfabética por padrão.
Revelar gabarito e comentário▾
GabaritoD — retornará os números de inquéritos e procedimentos em um único conjunto, eliminando registros duplicados de forma implícita.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Operador UNION em SQL: combinando resultados de consultas
Gabarito: letra D. O operador UNION combina os resultados de duas ou mais consultas em um único conjunto de linhas, eliminando implicitamente os registros duplicados — comportamento equivalente a aplicar um SELECT DISTINCT sobre o resultado final. A consulta do enunciado une os números de inquéritos e procedimentos, retornando-os em um único conjunto sem repetições.
O UNION é um dos operadores de conjunto do SQL, ao lado de INTERSECT e EXCEPT (ou MINUS, dependendo do SGBD). Ele funciona como a operação de união da teoria de conjuntos: pega todas as linhas retornadas pela primeira consulta e todas as linhas retornadas pela segunda, e as combina em um único resultado. A característica central do UNION é que ele remove duplicatas automaticamente — se um mesmo número de inquérito aparecer também como número de procedimento, ele será exibido apenas uma vez. Isso acontece porque o UNION executa, por padrão, uma eliminação de linhas repetidas no resultado final, mesmo que não haja duplicatas reais.
Para entender a diferença prática, considere um exemplo: se a tabela InqueritoPolicial tiver os números 1, 2 e 3, e a tabela ProcedimentoAdministrativo tiver os números 3, 4 e 5, o UNION retornará 1, 2, 3, 4 e 5 — o número 3, presente em ambas, aparece uma única vez. Já o UNION ALL retornaria 1, 2, 3, 3, 4 e 5, mantendo todas as linhas, inclusive as duplicadas. Essa é a distinção mais cobrada em provas: UNION elimina duplicatas; UNION ALL não.
Outro ponto importante é que, para usar o UNION (assim como INTERSECT e EXCEPT), as consultas devem ter o mesmo número de colunas, na mesma ordem e com tipos de dados compatíveis. No enunciado, ambas as consultas retornam duas colunas: a primeira é um número (inteiro) e a segunda é uma string literal ('Inquérito' e 'Procedimento'). Isso satisfaz os requisitos, permitindo a união.
A pegadinha desta questão está em confundir o UNION com outros operadores ou com a ausência de DISTINCT. O candidato pode pensar que, sem uma cláusula DISTINCT explícita, as duplicatas seriam mantidas — mas o UNION já faz essa eliminação implicitamente. Também é comum confundir UNION com INTERSECT (que retorna apenas os registros presentes em ambas as consultas) ou com um simples JOIN (que combina colunas de tabelas diferentes). Guarde a fronteira: UNION = união com eliminação de duplicatas; UNION ALL = união sem eliminação; INTERSECT = interseção; EXCEPT = diferença.
Operadores de conjunto SQL: UNION (União de resultados, Elimina duplicatas (DISTINCT implícito)); UNION ALL (União de resultados, Mantém duplicatas); INTERSECT (Apenas registros em ambas); EXCEPT (Registros só na primeira)
Alternativa A — ❌ Incorreta
Afirma que a consulta manterá os resultados separados, sem mesclá-los. Isso contraria a própria função do UNION, que é justamente combinar os resultados de duas consultas em um único conjunto de linhas. O UNION não preserva a separação entre as origens; ele funde os resultados em uma única tabela de saída.
Alternativa B — ❌ Incorreta
Diz que o UNION retornará todos os registros, inclusive os duplicados, por não haver DISTINCT explícito. Esse é o erro clássico: o UNIONjá elimina duplicatas implicitamente, independentemente de haver DISTINCT na consulta. Quem mantém todas as linhas, inclusive as repetidas, é o UNION ALL, não o UNION.
Alternativa C — ❌ Incorreta
Afirma que o UNION retorna apenas os números presentes em ambas as tabelas, funcionando como interseção. Isso descreve o operador INTERSECT, não o UNION. O UNION retorna todos os registros de ambas as consultas (com duplicatas removidas), enquanto o INTERSECT retorna apenas os que existem simultaneamente nos dois resultados.
Alternativa D — ✅ Correta ⟵ GABARITO
Descreve com precisão o comportamento do UNION: retorna os números de inquéritos e procedimentos em um único conjunto, eliminando registros duplicados de forma implícita. É exatamente o que o operador faz — combina os resultados e aplica uma eliminação de duplicatas no conjunto final, mesmo sem DISTINCT explícito.
Alternativa E — ❌ Incorreta
Afirma que o UNION ordena os resultados automaticamente pelo campo 'Inquérito'. O UNION não impõe nenhuma ordenação por padrão. Para ordenar o resultado, seria necessário usar a cláusula ORDER BY no final da consulta. Além disso, a ordenação seria feita pela coluna que se deseja ordenar, não necessariamente pela coluna de tipo textual.
NÃO CAIA NESSA!
A banca explora a confusão entre UNION e UNION ALL. O candidato que não sabe que o UNION elimina duplicatas implicitamente cai na alternativa B. Lembre-se: UNION = DISTINCT implícito; UNION ALL = mantém tudo. Essa é a distinção que separa quem estudou de quem decorou.
PEGA ESSA DICA!
Para fixar, compare os operadores de conjunto em uma tabela:
Operador
Função
Duplicatas
UNION
União
Elimina
UNION ALL
União
Mantém
INTERSECT
Interseção
Elimina
EXCEPT
Diferença
Elimina
Na prova, ao ver UNION sem ALL, lembre-se automaticamente de eliminação de duplicatas.