← Questões de Banco de Dados

Banco de Dados · FGV · 2022

Questão comentada de Banco de Dados

No contexto de expressões SQL em bancos de dados, assinale a construção correta para a cláusula case.

Gabarito: A

A cláusula CASE em SQL serve para criar uma lógica condicional dentro do SELECT, como se fosse um "se... então... senão". Ela pode aparecer em duas formas clássicas: a forma simples, com a sintaxe `CASE expressão WHEN valor THEN resultado ELSE resultado_fim END`, e a forma pesquisada, com `CASE WHEN condição THEN resultado ELSE resultado_fim END`. Na questão, a construção correta é a da alternativa A, porque ela usa exatamente a estrutura da forma simples: `case genero when 'M' then 'Masculino' else 'Feminino' end`. Aqui, o banco compara o valor da coluna `genero` com `'M'` e, se for igual, retorna "Masculino"; caso contrário, cai no `else` e retorna "Feminino". Perceba que o `END` fecha a expressão CASE, e o `AS genero_por_extenso` apenas dá nome à coluna calculada. Isso é comum em provas: a banca mistura palavras de outras linguagens ou inventa sintaxe que parece plausível, mas não existe em SQL. Em resumo: a alternativa A está correta porque respeita a gramática da cláusula CASE no padrão SQL. As demais trocam `when`, `then`, `else` e `end` por palavras erradas ou embaralham a ordem, o que invalida a construção.

Continue treinando

Questões relacionadas