I have the following schema:
When you rephrase your question it's find the projects where no employee works less than three hours, i.e. the minimum hours is greater than three:
SELECT p.pname FROM project AS p JOIN works_on AS w ON p.pnumber = w.pnumber GROUP BY p.pname HAVING MIN(hours) > 3
Or using NOT EXISTS:
SELECT * FROM project AS p WHERE NOT EXISTS ( SELECT * FROM works_on AS w WHERE p.pnumber = w.pnumber AND hours <= 3 )
Caution, this is not exactly the same, as it will return projects without assigned employees.