Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FUNDATEC 2025

Banco de DadosSQL
Código
qg468568
Banca
FUNDATEC
Órgão
BRDE
Ano
2025
Nível
Superior
Cargo
Analista de Sistemas - Subárea Administração de Banco de Dados
Uma query deve combinar a lista de todos os Clientes ativos de uma região com a lista de todos os Fornecedores ativos da mesma região. O resultado deve incluir todos os registros de ambas as tabelas, sem duplicatas. Qual operador de conjunto SQL é o mais adequado para essa tarefa?
  1. AUNION ALL
  2. BINTERSECT
  3. CCROSS JOIN
  4. DUNION
  5. EFULL OUTER JOIN
Revelar gabarito e comentário

GabaritoD — UNION

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”.

SQL: Operadores de Conjunto

Gabarito: letra D. O operador UNION é o mais adequado para combinar duas listas (Clientes e Fornecedores de uma mesma região) em um único conjunto, incluindo todos os registros de ambas as consultas e eliminando duplicatas automaticamente. A tarefa exige justamente a união de dois conjuntos de dados distintos, sem repetições, o que é a definição do UNION.

A banca testa o conhecimento dos operadores de conjunto (UNION, UNION ALL, INTERSECT, EXCEPT) e a diferença entre eles.

NÃO CAIA NESSA!

Confundir UNION com UNION ALL. O UNION ALL também combina resultados, mas não elimina duplicatas. Como a questão exige "sem duplicatas", o UNION ALL não atende. Já o UNION faz exatamente isso: retorna apenas os registros distintos.

1UNION
Combina resultados
Elimina duplicatas
2UNION ALL
Combina resultados
Não elimina duplicatas
3INTERSECT
Só registros comuns
4EXCEPT
Diferença entre conjuntos
Operadores de conjunto SQL
LEVELsoulevel.com.br
Operadores de conjunto SQL: UNION (Combina resultados, Elimina duplicatas); UNION ALL (Combina resultados, Não elimina duplicatas); INTERSECT (Só registros comuns); EXCEPT (Diferença entre conjuntos)

Alternativa A — ❌ Incorreta

UNION ALL combina os resultados de duas consultas, mas não remove duplicatas – retorna todas as linhas das duas queries, inclusive as repetidas. Por isso, não atende ao requisito "sem duplicatas".

Alternativa B — ❌ Incorreta

INTERSECT retorna apenas as linhas que aparecem em ambas as consultas (interseção). A questão pede todos os registros das duas tabelas, não apenas os comuns.

Alternativa C — ❌ Incorreta

CROSS JOIN é um operador de junção que produz o produto cartesiano entre duas tabelas, combinando cada linha de uma com cada linha da outra. Não é um operador de conjunto e não serve para unir listas verticalmente.

Alternativa D — ✅ Correta ⟵ GABARITO

UNION combina os resultados de duas ou mais consultas, eliminando automaticamente as linhas duplicadas. Como o enunciado exige "todos os registros de ambas as tabelas, sem duplicatas", essa é a escolha certa.

Alternativa E — ❌ Incorreta

FULL OUTER JOIN é um operador de junção que retorna todos os registros de ambas as tabelas, combinando as linhas correspondentes e preenchendo com NULL onde não há correspondência. Isso produz um resultado horizontal (mais colunas), não uma união vertical de linhas. Além disso, não elimina duplicatas automaticamente.

Gabarito: letra D (UNION).

Link permanente: /questoes/qg468568