MAX in WHERE Clause

Why can't you use MAX() directly in a WHERE clause?

-- This doesn't work:
SELECT e.ename
FROM Emp e
JOIN Dept d ON e.eid = d.managerid
WHERE d.budget = MAX(d.budget);
A

It's a syntax error in SQL

B

WHERE processes individual rows before aggregation happens

C

MAX() is too slow for WHERE clauses

D

MAX() can only be used with GROUP BY