Questão de Banco de Dados — SQL — CESPE / CEBRASPE 2023
- Código
- ce160960
- Banca
- CESPE / CEBRASPE
- Órgão
- SEPLAN-RR
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista de Planejamento e Orçamento - Especialidade: Tecnologia da Informação
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: Errado (E). O script SQL está correto e não produz erro. A cláusula CASE avalia as condições na ordem em que são escritas: a primeira condição verdadeira determina o resultado. Assim, se wind_speed >= 40, retorna 'HIGH'; caso contrário, testa >= 30 e retorna 'MODERATE'; e, se nenhuma for verdadeira, retorna 'LOW'. O comportamento é perfeitamente determinístico.
A banca afirma que, se houver valor superior a 40, não será possível predizer o valor de wind_severity. Isso é incorreto. O comando CASE funciona como uma estrutura sequencial:
Primeiro verifica wind_speed >= 40: se verdadeiro, resultado é 'HIGH' e a avaliação para.
Se falso, verifica wind_speed >= 30: se verdadeiro, resultado é 'MODERATE'.
Caso contrário, resultado é 'LOW'.
Não há ambiguidade: registros com wind_speed = 50, por exemplo, atendem à primeira condição e recebem 'HIGH'. Registros com 35 atendem apenas à segunda e recebem 'MODERATE'. Registros com 20 recebem 'LOW'. A ordem garante exclusividade e previsibilidade.
Em SQL, a cláusula CASE é avaliada na ordem das condições. A primeira condição verdadeira interrompe a avaliação. Isso é similar a um if-else if-else em linguagens de programação. Lembre-se: a ordem das condições importa!
Gabarito: Errado (E).
Link permanente: /questoes/ce160960