В дополнение к ответу sgeddes, case принимает другую, несколько более компактную форму:
SELECT * FROM employee
ORDER BY
CASE job_name
WHEN 'PRESIDENT' then 0
WHEN 'MANAGER' then 1
WHEN 'CLERK' then 2
WHEN 'SALESMAN' then 3
ELSE 4
END
MySQL также поддерживает что-то под названием FIELD:
SELECT * FROM employee
ORDER BY FIELD(job_name,
'PRESIDENT',
'MANAGER',
'CLERK',
'SALESMAN');
В отличие от CASE, это не такстандартный SQL, так что это причина не использовать его, но концептуально он делает то же самое, что и первый пример
Обратите внимание, что ваши данные содержат ANALYST, но вы не кодировали для этого