Les sous-SELECT fonctionnent bien lorsqu'ils sont utilisés de manière appropriée... "quelqu'un n'aime pas quelque chose" seul n'est pas une raison suffisante à mon humble avis.
Il existe plusieurs options - seulement 2 à titre d'exemple :
SELECT nums.number FROM nums
LEFT OUTER JOIN even ON even.number = nums.number
WHERE even.number IS NULL
OU
SELECT nums.number FROM nums
MINUS
SELECT even.number FROM even