1
resposta

MINHA RESOLUCAO

SELECT NOME,
(CASE WHEN LIMITE_DE_CREDITO >= 150000 THEN 'CLIENTES GRANDES'
WHEN LIMITE_DE_CREDITO >= 110000 THEN 'CLIENTES MÉDIOS'
ELSE 'CLIENTES PEQUENOS' END) AS CLASSIFICACAO
FROM TABELA_DE_CLIENTES
ORDER BY CLASSIFICACAO;

OBS: Nessa segunda condição eu não coloquei o intervalo de 110000 até 150000, pois seguindo a lógica colocando o limitador >= 110000, como o de cima já está com >= 150000, automaticamente já irá contar como cliente médio até 149999, ao atingir 150000 ele automaticamente já irá entrar na condição de cliente grande. Fiz dessa forma para melhorar o código.

1 resposta

Oi, Adriano! Como vai?

Agradeço por compartilhar.

Gostei da sua análise sobre a lógica do CASE, você organizou bem as condições e sua explicação sobre não precisar definir explicitamente o intervalo mostra um bom entendimento do fluxo de avaliação no SQL.

Dica: sempre mantenha essa ordem das condições do maior para o menor valor, assim evita classificações incorretas e deixa o código mais claro para quem for ler depois.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!