IntermediateSubqueries & EXISTS

ANY / ALL: employees earning more than ANY manager

The query

SQL
-- ANY: salary > at least one manager salary
SELECT first_name, last_name, salary
FROM employees
WHERE salary > ANY (
  SELECT salary FROM employees WHERE manager_id IS NULL
);

-- ALL: salary > ALL manager salaries  
SELECT first_name, last_name, salary
FROM employees
WHERE salary > ALL (
  SELECT salary FROM employees WHERE manager_id IS NULL
);
Tested against PostgreSQL 16

Note

ANY = OR comparison across set. ALL = AND comparison. ANY(...)=IN for =, different for > < >=.

Tables referenced