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