Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FCC 2017

Banco de DadosSQL
Código
fc040543
Banca
FCC
Órgão
TST
Ano
2017
Nível
Médio
Cargo
Técnico Judiciário – Programação
O resultado esperado da execução de duas expressões SQL SELECT é uma lista completa dos valores distintos de cidade e pais, ambos com o mesmo tipo de dado, obtidos respectivamente das tabelas cidadao e tribunal.As expressões sãoSELECT cidade, pais FROM cidadaoWHERE pais='Brasil'..I..SELECT cidade, pais FROM tribunalWHERE pais='Brasil'Para a lista ser completa e os valores serem distintos, a lacuna I deve ser corretamente preenchida com
  1. Ajoin distinct
  2. Bjoin all
  3. Clike distinct
  4. Dunion
  5. Eunion all
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 combinação de consultas

Gabarito: letra D. O operador UNION combina os resultados de duas consultas eliminando duplicatas, atendendo ao requisito de "valores distintos" exigido pelo enunciado. O UNION ALL manteria duplicatas, e as demais opções (JOIN, LIKE) não são operadores de combinação de resultados de consultas independentes. A lacuna I deve ser preenchida com UNION.

A questão testa o conhecimento dos operadores de conjunto em SQL, especialmente a diferença entre UNION e UNION ALL. Enquanto UNION realiza uma união com eliminação de duplicatas, UNION ALL retorna todas as linhas, incluindo repetições. As outras opções (JOIN DISTINCT, JOIN ALL, LIKE DISTINCT) são sintaxes inválidas ou inadequadas para combinar resultados de duas consultas.

Operador SQL

Função

Remove duplicatas?

Atende ao requisito "valores distintos"?

UNION

Combina resultados de duas consultas

Sim

✅ Sim

UNION ALL

Combina resultados de duas consultas

Não

❌ Não

JOIN DISTINCT

Sintaxe inválida

❌ Não

JOIN ALL

Sintaxe inválida

❌ Não

LIKE DISTINCT

Sintaxe inválida (busca de padrão + eliminação de duplicatas, não combina consultas)

❌ Não

1UNION
Remove duplicatas
Combina consultas independentes
2UNION ALL
Mantém duplicatas
Combina consultas independentes
3JOIN
Não combina consultas
Combina colunas por condição
Operadores de conjunto SQL
LEVELsoulevel.com.br
Operadores de conjunto SQL: UNION (Remove duplicatas, Combina consultas independentes); UNION ALL (Mantém duplicatas, Combina consultas independentes); JOIN (Não combina consultas, Combina colunas por condição)

Alternativa A — ❌ Incorreta

JOIN DISTINCT não é um comando SQL válido. JOIN é usado para combinar colunas de duas tabelas com base em uma condição, não para unir resultados de consultas independentes. Além disso, a palavra DISTINCT após JOIN não é reconhecida.

Alternativa B — ❌ Incorreta

JOIN ALL também não é uma sintaxe SQL válida. A cláusula ALL é usada em UNION ALL ou em subconsultas, mas não em JOIN. Não atende ao propósito de combinar linhas de duas consultas.

Alternativa C — ❌ Incorreta

LIKE DISTINCT não faz sentido nesse contexto. LIKE é usado para correspondência de padrões em strings, e DISTINCT elimina duplicatas em uma única consulta. Não é um operador de combinação entre consultas.

Alternativa D — ✅ Correta ⟵ GABARITO

UNION é o operador correto. Ele combina o resultado das duas consultas SELECT cidade, pais FROM cidadao WHERE pais='Brasil' e SELECT cidade, pais FROM tribunal WHERE pais='Brasil', removendo automaticamente as linhas duplicadas, conforme exigido pelo enunciado ("lista completa dos valores distintos").

Alternativa E — ❌ Incorreta

UNION ALL combina os resultados mas não remove duplicatas. O resultado conteria todas as linhas de ambas as consultas, inclusive repetições, contrariando a exigência de "valores distintos".

PEGA ESSA DICA!

Para lembrar: UNION = Unique (remove duplicatas); UNION ALL = All (mantém todas). Em questões que pedem valores distintos, use UNION.

Gabarito: letra D.

Link permanente: /questoes/fc040543