Pular para o conteúdo principal

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

Banco de DadosSQL
Código
qg472039
Banca
FUNDATEC
Órgão
GHC-RS
Ano
2025
Nível
Médio
Cargo
Programador
Analise a seguinte expressão SQL e assinale a alternativa correta.select relacao_funcionarios.funcionario, relacao_funcionarios.cargo,case when relacao_funcionarios.area_cargo = 1 then 'Saúde' else 'Outros' end areafrom (select fun_nome funcionario, car_nome cargo,casewhen C.car_nome = 'Enfermeiro' then 1 else 0when C.car_nome = 'Medico' then 1 else 0when C.car_nome = 'Programador' then 2 else 0end area_cargofrom funcionario F, cargo Cwhere F.car_id = C.car_id) relacao_funcionarios
  1. AA expressão SQL está correta e cria um campo em tempo de execução chamado area_cargo.
  2. BA expressão SQL está correta e cria uma tabela em tempo de execução chamada relacao_funcionarios.
  3. CA expressão SQL está incorreta, porque apresenta os funcionários repetidos para cada area_cargo.
  4. DA expressão SQL está incorreta, porque a subconsulta pode retornar NULL.
  5. EA expressão SQL está incorreta, porque há erro de sintaxe.
Revelar gabarito e comentário

GabaritoE — A expressão SQL está incorreta, porque há erro de sintaxe.

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: Expressão CASE e subconsulta

Gabarito: letra E. A expressão SQL apresenta erro de sintaxe na construção da cláusula CASE dentro da subconsulta. A forma como foi escrita, com else após cada when, é inválida. No SQL padrão, a sintaxe correta é:

CASE
   WHEN condição1 THEN resultado1
   WHEN condição2 THEN resultado2
   ...
   ELSE resultado_default
END

No código dado, o else 0 aparece imediatamente após cada then 1, o que é proibido. O else deve vir apenas uma vez, no final da estrutura. Portanto, a afirmação de que há erro de sintaxe está correta.

  1. 1CASE
  2. 2WHEN condição THEN resultado
  3. 3WHEN condição THEN resultado
  4. 4ELSE resultado_default
  5. 5END
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Afirma que a expressão está correta e cria um campo area_cargo. Na verdade, a expressão contém erro de sintaxe, logo não está correta.

Alternativa B — ❌ Incorreta

Afirma que a expressão está correta e cria uma tabela relacao_funcionarios. O termo relacao_funcionarios é um alias para a subconsulta, não uma tabela. Além disso, a sintaxe está errada.

Alternativa C — ❌ Incorreta

Sugere que o erro é a repetição de funcionários para cada area_cargo. Embora a ausência de GROUP BY em certos contextos pudesse gerar repetições, aqui o erro primário é de sintaxe; a repetição não é o problema apontado.

Alternativa D — ❌ Incorreta

Menciona que a subconsulta pode retornar NULL. Mesmo que pudesse, o erro de sintaxe é mais grave e anterior a qualquer análise de dados.

Alternativa E — ✅ Correta ⟵ GABARITO

A expressão SQL está incorreta devido a erro de sintaxe na cláusula CASE. A banca testa o conhecimento da estrutura correta do CASE, e a forma apresentada é inválida.

PEGA ESSA DICA!

Em SQL, lembre-se: o CASE usa um único ELSE opcional no final, não um ELSE por WHEN. Esse erro é comum em provas.

Link permanente: /questoes/qg472039