Я выполняю нижеприведенный запрос, чтобы получить 3-е высшее зарплату из таблицы сотрудников, и он работал правильно, но я не могу понять его логику. Как значения подзапроса совпадают с основным запросом (левая часть). Может кто-нибудь объяснить, что логика работает за этим запросом?
select e1.salary
from employee as e1
where 3 = (select count(salary)
from employee as e2
where e1.salary<=e2.salary)
PS: Я понимаю, что count()
возвращает количество строк (где все записи уникальны).