Я самоучился SQL из ресурсов на inte rnet. У меня есть два запроса SQL, которые я хотел бы понять.
- Напишите запрос SQL для получения трех максимальных зарплат из таблицы.
SELECT distinct Salary from worker a WHERE 3 >= (SELECT count(distinct Salary) from worker b WHERE a.Salary <= b.Salary) order by a.Salary desc;
Напишите запрос SQL, чтобы получить три минимальные зарплаты из таблицы.
SELECT distinct Salary from worker a WHERE 3 >= (SELECT count(distinct Salary) from worker b WHERE a.Salary >= b.Salary) order by a.Salary desc;
Как видите, эти два значения похожи. Часть, которую я не особо понимаю, это:
(a.Salary >= b.Salary)
или (a.Salary <= b.Salary)
Я не понимаю его logi c здесь. Что он здесь делает?
Таблица:
введите описание изображения здесь