Основы SQL: работа с SELECT TOP

При работе с большими базами данных часто возникает необходимость ограничить количество результатов, возвращаемых запросом. Для этого в SQL существует запрос SELECT TOP.
“Данные – это всего лишь краткое изложение тысяч историй – расскажите несколько таких историй, чтобы придать данным смысл”. – Чип и Дэн Хит
Используя SELECT TOP, мы можем сосредоточиться на наиболее важных “историях”, которые могут рассказать наши данные. Давайте рассмотрим различные способы использования этого мощного пункта.
Выбор определенного количества записей
Простейшее использование SELECT TOP заключается в указании количества записей, которые необходимо вернуть.
-- Select the top 5 employees based on salary
SELECT TOP 5 *
FROM Employees
ORDER BY Salary DESC;
В этом SQL-операторе мы выбираем 5 сотрудников с самыми высокими зарплатами. Оператор ORDER BY Salary DESC сортирует сотрудников по зарплате в порядке убывания, а оператор TOP 5 ограничивает результаты первыми 5 записями в отсортированном списке.
Выбор части записей
SELECT TOP может также возвращать определенный процент записей. Это может быть полезно, когда необходимо получить подмножество данных.
-- Select the top 10% employees based on salary
SELECT TOP 10 PERCENT *
FROM Employees
ORDER BY Salary DESC;
В этом SQL-операторе мы получим 10% лучших сотрудников на по их зарплате. Запрос ORDER BY Salary DESC сортирует сотрудников по зарплате в порядке убывания, а TOP 10 PERCENT возвращает первые 10% записей в отсортированном списке.
Использование SELECT TOP с TIES
В некоторых случаях требуется вернуть все записи, имеющие общее значение с последней записью в выборке TOP. SELECT TOP WITH TIES позволяет это сделать.
-- Select the top 5 employees based on salary, include ties
SELECT TOP 5 WITH TIES *
FROM Employees
ORDER BY Salary DESC;
В данном примере, если шестой сотрудник (первый, не выбранный предложением TOP 5) имеет ту же зарплату, что и пятый, то запрос вернет и эту запись.
Заключение
Предложение SELECT TOP является универсальным инструментом SQL для ограничения и уточнения результатов запросов. Если вы имеете дело с большой базой данных или хотите сосредоточить свой анализ на подмножестве данных, SELECT TOP поможет вам в этом.
“Данные – ценная вещь, и они будут существовать дольше, чем сами системы”. – Тим Бернерс-Ли
Отношение к данным как к драгоценности и разумное обращение с ними позволит нам находить значимые выводы и принимать обоснованные решения. Поэтому продолжайте исследовать, практиковаться и расширять границы своих знаний в области SQL.