select last_name, to_char(hire_date, 'yyyy') as hy, (case when to_char(hire_date, 'yyyy')>1995 then 'jung' when to_char(hire_date, 'yyyy')>1992 then 'mittel' else 'alt' end) altersgruppe from employees order by hire_date desc; select first_name, last_name, hire_date, age_class from (select first_name, last_name, hire_date, case when hd < 2003 then 'old' when hd < 2005 then 'average' when hd < 2007 then 'young' else 'even younger' end age_class from (select first_name, last_name, hire_date, extract(year from hire_date) hd from employees)) order by decode(age_class, 'old', 0, 'average', 1, 'young', 2, 'even younger', 3, 'error') select first_name, last_name, salary, decode(gehalts_kategorie, 0, 'wenig', 1, 'mittel', 2, 'viel', 'FEHLER!!!') gehalts_kategorie_name from ( select first_name, last_name, salary, (case when salary < 5000 then 0 when salary < 10000 then 1 else 2 end) gehalts_kategorie from hr.employees ) order by gehalts_kategorie, salary, last_name, first_name; decode