Com pertinência à linguagem SQL, julgue o item abaixo.Consid...
Com pertinência à linguagem SQL, julgue o item abaixo.
Considere-se o seguinte script SQL.
select report_code, year, month, day,
wind_speed,
case
when wind_speed>= 40 then ‘HIGH’
when wind_speed>= 30 then ‘MODERATE’
else ‘LOW’
end as wind_severity
from station_data
O resultado da execução do script resultará em erro, pois,
caso haja, na tabela station_data, algum registro no
campo wind_speed com valor superior a 40, não será
possível predizer se o valor da variável wind_severity
será igual a ‘HIGH’.
Comentários
Veja os comentários dos nossos alunos
qualquer valor igual ou superior a 40 será respondido como 'HIGH', e os valores entre 30 e 39 serão 'MODERATE'. Portanto não haverá erro...!
O que aparece no resultado da consulta é o primeiro CASE a ser satisfeito.
Errado. O script apresentado não resultará em erro, pois a cláusula "CASE" é usada para definir condições e valores de retorno que são aplicados à coluna "wind_speed". Se houver um registro na tabela "station_data" com um valor de "wind_speed" superior a 40, ele será classificado como "HIGH".
Na cláusula "CASE", as condições são testadas na ordem em que são escritas. Se uma condição é atendida, o valor de retorno associado é retornado e o resto das condições é ignorado. No caso apresentado, se o valor de "wind_speed" for igual ou maior que 40, o resultado será "HIGH", caso contrário, se o valor de "wind_speed" for igual ou maior que 30, o resultado será "MODERATE". Caso nenhuma dessas condições seja atendida, o resultado será "LOW".
Resposta: Errado.
O script não dá erro porque a cláusula "CASE" define condições e valores para a coluna "wind_speed".
Se tiver um registro com "wind_speed" maior que 40, será "HIGH".
- Cláusula "CASE" aplica condições e valores à coluna "wind_speed".
- Condições são testadas na ordem escrita.
- Se "wind_speed" >= 40, resultado é "HIGH".
- Se não, se "wind_speed" >= 30, resultado é "MODERATE".
- Se não, resultado é "LOW".
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo