Я не уверен, что это очень эффективно, но, может быть, стартовое место?
select *
from people p1
join people p2
on p1.occupation = p2.occupation
join people p3
on p1.occupation = p3.occupation
and p2.occupation = p3.occupation
where p1.emp_id != p2.emp_id
and p1.emp_id != p3.emp_id
Это должно дать вам строки, которые содержат 3 разных сотрудника, все в одной профессии. К сожалению, это даст вам ВСЕ комбинации из них.
Может кто-нибудь сократить это, пожалуйста?