Hola, Leandro, espero que estés bien
Parece que tu consulta está casi correcta, pero asegúrate de que las condiciones en el CASE cubran todos los rangos adecuadamente. Aquí te dejo una versión revisada:
SELECT NOMBRE,
CASE
WHEN YEAR(FECHA_DE_NACIMIENTO) < 1990 THEN 'Viejos'
WHEN YEAR(FECHA_DE_NACIMIENTO) BETWEEN 1990 AND 1995 THEN 'Jóvenes'
WHEN YEAR(FECHA_DE_NACIMIENTO) > 1995 THEN 'Niños'
ELSE 'Sin dato'
END AS CLASIFICACION
FROM tabla_de_clientes;
Revisa que los años de nacimiento en tu base de datos estén correctos y que no haya errores de tipeo en los nombres de las columnas o la tabla. Si todo está bien y aún tienes problemas, verifica los datos de entrada para asegurarte de que se ajusten a las condiciones.
Espero haber ayudado y buenos estudios!