Использование:
SELECT x.id, x.name,
x.salary,
y.max_salary - x.salary AS diff
FROM YOUR_TABLE x
CROSS JOIN (SELECT MAX(t.salary) AS max_salary
FROM YOUR_TABLE t) y
Чтобы получить 2-ю / 3-ю / и т.д. самую высокую зарплату, используйте:
SELECT x.id, x.name,
x.salary,
y.max_salary - x.salary AS diff
FROM YOUR_TABLE x
CROSS JOIN (SELECT u.max_salary
FROM (SELECT t.salary AS max_salary,
ROW_NUMBER() OVER (ORDER BY t.salary DESC) AS rank
FROM YOUR_TABLE t) u
WHERE u.rank = ?) y
Замените ?
на позицию / ранг, который вы хотите получить.