1
resposta

Condicional mais simples

Como já havia feito a comparação para menores de 1990 na primeira cláusula do CASE, acredito não haver necessidade de na segunda cláusula repetir que deveria ser maior que 1990 E menor que 1995 e sim somente "menor que 1995". Caso esteja errado favor me corrijam. Segue abaixo a comparação com as duas queries:

(1) Resposta oficial:

SELECT NOME, 
(CASE WHEN TO_CHAR(DATA_DE_NASCIMENTO,'YYYY')<='1990' THEN 'VELHO'
      WHEN TO_CHAR(DATA_DE_NASCIMENTO,'YYYY')>'1990' AND TO_CHAR(DATA_DE_NASCIMENTO,'YYYY')<='1995' THEN 'JOVEM'
      ELSE 'CRIANÇA' END)
FROM TABELA_DE_CLIENTES;

(2) Resposta sem o condicional "maior que 1990" na segunda cláusula do CASE:

SELECT NOME, 
(CASE WHEN TO_CHAR(DATA_DE_NASCIMENTO,'YYYY')<='1990' THEN 'VELHO'
      WHEN TO_CHAR(DATA_DE_NASCIMENTO,'YYYY')<='1995' THEN 'JOVEM'
      ELSE 'CRIANÇA' END)
FROM TABELA_DE_CLIENTES;

Em ambas as queries a saída foi a mesma:

Erica Carvalho    VELHO
Fernando Cavalcante    CRIANÇA
Cesar Teixeira    CRIANÇA
Marcos Nogueira    JOVEM
Eduardo Jorge    JOVEM
Abel Silva     JOVEM
Petra Oliveira    JOVEM
Paulo Cesar Mattos    JOVEM
Gabriel Araujo    VELHO
Marcelo Mattos    JOVEM
Valdeci da Silva    JOVEM
Carlos Eduardo    VELHO
Edson Meilelles    JOVEM
Walber Lontra    VELHO
Fabio Carvalho    JOVEM
1 resposta

Olá Walter, tudo bem?

Sim, utilizando as duas queries temos o mesmo resultado, então essa é outra forma para resolver atividade proposta e listar todos os clientes e suas classificações, que legal que você compartilhou aqui com a gente a sua query, continue assim e bons estudos!

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