SQL Limit: руководство для начинающих

SQL Программирование и разработка

SQL

Оператор SQL LIMIT ограничивает количество строк, возвращаемых запросом. Оператор LIMIT появляется в конце запроса после любых операторов ORDER BY. Вы можете запустить оператор LIMIT в определённой строке, используя аргумент смещения.

Когда вы работаете с SQL, вы можете захотеть получить только определённое количество строк из запроса.

Например, вы можете выбрать трёх лучших сотрудников на основе количества полученных ими наград «Сотрудник месяца». Это легче читать, чем список всех сотрудников и количество заработанных наград «Сотрудник месяца».

Есть встроенная функция SQL, которая позволяет вам выполнять это действие: SQL LIMIT. Лимит позволяет ограничить количество записей в запросе определённым количеством.

В этом руководстве мы обсудим, как использовать команду SQL LIMIT. Мы также обсудим, как использовать TOP, эквивалент LIMIT для экземпляров SQL Server.

Обновление запроса

Чтобы получить информацию из базы данных, вам нужно написать SQL-запросы. Запросы почти всегда начинаются с оператора SELECT. Мы используем этот оператор, чтобы сообщить базе данных, какие столбцы мы хотим получить. Запросы часто включают термин FROM, который используется для указания, из какой таблицы оператор получит данные.

Вот синтаксис SQL-запроса:

SELECT column_name FROM table_name WHERE conditions_apply;

Вот пример SQL-запроса, который вернёт список имён всех сотрудников в таблице сотрудников :

SELECT name FROM employees;

Наш запрос возвращает следующее:

имя
Люк
Майк
Ханна
Джефф
Алексис
Эмма
Джона
Адам

(8 рядов)

Что такое SQL LIMIT?

Предложение SQL LIMIT ограничивает количество строк, возвращаемых из запроса. Синтаксис предложения LIMIT: SELECT * FROM table LIMIT X;. X представляет, сколько записей вы хотите получить.

Например, вы можете использовать предложение LIMIT для получения пяти лучших игроков в таблице лидеров. Или вы можете использовать этот пункт для пяти крупнейших клиентов, заказавших наибольшее количество товаров.

Вот синтаксис запроса, в котором используется предложение LIMIT:

SELECT column_name FROM table_name LIMIT number_to_limit;

Предложение LIMIT совместимо только с оператором SQL SELECT . Например, вы не можете использовать предложение LIMIT в инструкции SQL UPDATE . Или вы не можете использовать предложение LIMIT в операторе SQL DROP или SQL ALTER TABLE.

Ваш LIMIT-номер должен быть положительным. Допустим, вы хотите получить записи из нижней части списка. Вы должны использовать оператор SQL ORDER BY, чтобы упорядочить их в порядке убывания. Затем вы должны использовать оператор LIMIT:

SELECT * FROM table ORDER BY column DESC LIMIT X;

Это синтаксис для упорядочивания таблицы в порядке убывания и ограничения вывода запроса. Мы использовали предложение ORDER BY для получения только первых X записей.

Пример SQL LIMIT

Давайте воспользуемся примером, чтобы проиллюстрировать предложение SQL LIMIT в действии. Предположим, мы хотим получить список имён трёх наиболее длительных сотрудников нашей организации.

Мы также хотим получить даты, когда они были наняты. Мы могли бы использовать следующий запрос для получения этой информации:

SELECT name, hired_date FROM employees ORDER BY hired_date DESC LIMIT 3;

Наш запрос возвращает следующее:

имя hired_date
Алексис 2014-04-01
Джефф 2012-03-17
Ханна 2011-09-30

(3 ряда)

Наш запрос вернул трёх самых продолжительных сотрудников по дате приёма на работу.

Смещение предложения SQL LIMIT

Если вы хотите сместить предложение LIMIT — изменить начальную точку — вы можете указать второй параметр. Вот синтаксис запроса SQL LIMIT, который смещает запрос:

SELECT column_name FROM table_name LIMIT starting_point, rows_to_return;

Начальная точка — это смещение запроса (где будут начинаться ваши результаты). «Rows_to_return» — это количество строк, которое вы хотите получить по запросу.

Допустим, мы хотим получить имя пятого наиболее высокооплачиваемого сотрудника. Мы могли бы использовать предложение LIMIT , чтобы указать, что мы хотим получить только одну запись, которая должна быть пятым самым высокооплачиваемым сотрудником. Вот пример такого запроса:

SELECT name FROM employees ORDER BY salary DESC LIMIT 4, 1;

Мы указываем, что хотим получить элемент, который занимает пятое место в нашем списке — помните, это первая строка. Мы хотим получить только одну запись. Вот результат нашего запроса:

имя
Алексис

(1 ряд)

Предложение смещения работает только в MySQL . Если вы хотите запустить операцию смещения в PostgreSQL , вам нужно использовать оператор OFFSET следующим образом:

SELECT name FROM employees ORDER BY salary DESC OFFSET 4 LIMIT 1;

SQL TOP

В SQL Server и MS Access предложение SQL TOP используется для ограничения количества строк, возвращаемых запросом. Вот синтаксис SQL-запроса, в котором используется TOP:

SELECT TOP number column_names FROM table_name;

Вот пример запроса, который вернёт двух самых высокооплачиваемых сотрудников из таблицы сотрудников:

SELECT TOP 2 * FROM employees ORDER BY salary DESC;

Наш запрос возвращает следующее:

имя
Иона
Эмма

(2 ряда)

За предложением TOP может следовать ключевое слово PERCENT, которое извлекает процент строк вместо количества фиксированных строк. Итак, если вы хотите получить 25% лучших сотрудников на основе их заработной платы, вы можете использовать этот запрос:

SELECT TOP 25 PERCENT * FROM employees
ORDER BY salary DESC;

Наш запрос к базе данных с восемью записями возвращает следующее:

имя
Иона
Эмма

(2 ряда)

Вывод

Вы можете использовать оператор SQL LIMIT (или TOP в SQL Server и MS Access), чтобы ограничить количество строк, возвращаемых запросом. Это полезно, если вам нужно видеть только верхние или нижние записи запроса.

Например, вы можете захотеть получить записи о пяти сотрудниках с самыми высокими зарплатами. В этом руководстве мы обсудили, как структурированы запросы в SQL и как использовать оператор LIMIT.IT.

Читайте также:  Как добавить атрибуты в метакласс Python?
Оцените статью
bestprogrammer.ru
Добавить комментарий