1
resposta

Procedures SQL: Executando Código no MySQL (Aula 4 - Ex - 6)

Aula: 04 Exercício: 06

Pergunta: Refaça a Stored Procedure do exercício anterior usando CASE-END-CASE. Chame de Comparativo_Vendas_Case.

Resposta do Instrutor: Não conseguimos modificar a Stored Procedure anterior usando CASE-END-CASE porque esta estrutura não admite condições com maior, menor e AND/OR. Ela se aplica apenas para condições de igualdades.

Comentário: Este tipo de resposta demonstra total falta de interesse pelo instrutor, e no mínimo preguiça, sem falar a falta de consideração pelos alunos ao afirmar tal situação. O uso do CASE..THEN..END permite sim testes utilizando AND/OR/BETWEEN.

Exemplo: Tabela salarios

faixa_salarial
50.000
---------------
100.000
---------------
200.000
---------------
300.000
---------------
400.000
---------------
500.000
---------------
select fs.faixa_salarial
          ,case
           when fs.faixa_salarial <= 50000 then 'Classe E' --  Operador <= (Menor ou igual)
           when fs.faixa_salarial between 200000 and 300000 then 'Classe D' -- Uso do operador Between
           when fs.faixa_salarial > 300000 and fs.faixa_salarial < 400000 then 'Classe C' -- Uso do AND
           when fs.faixa_salarial = 400000 or fs.faixa_salarial = 500000 then 'Classe A' -- Uso do OR
           else 'Não mapeado'
          end as Classe
   from salarios fs;
1 resposta

Olá Marcelo!

Peço desculpa pela demora em responder, porém essa sua dúvida é a mesma de um outro colega, você pode ver nesse link, esse problema realmente existiu, mas o exercício estava errado e já foi removido do curso.

Espero ter ajudado!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software