я собирался корыто способы ограничить результаты в SQL, и я наткнулась таким образом:Ограничение результатов в SQL запросе
SELECT name
FROM employees e
WHERE 2>=(SELECT COUNT(*) FROM employees e1 WHERE e1.birthdate>e.birthdate);
Этот запрос возвращает три младших сотрудников, но я не совсем понимаю, как этот запрос работает. Как получилось 2> = и не 2 < =? Может ли кто-нибудь пролить свет на то, что делает этот запрос? Спасибо!
Есть лучшие способы получить трех младших сотрудников. Ваш вопрос о том, как это сделать или о том, почему это работает? Кроме того, какую базу данных вы используете? –
Мой вопрос в том, почему это работает. Я использую postgres – Newyork111
хорошо, если у вас вопрос, как работает ваш запрос, посмотрите на подзапрос. попробуйте оценить его для каждой записи и узнать, что она возвращает. Вы будете знать, как это работает. (он возвращает число сотрудников с датой рождения больше, чем дата рождения текущей записи, тогда вы сравниваете это с числом, также попробуйте переписать это в этом порядке 'подзапрос <= 2' для лучшего восприятия) –