Урок доступен в видеоформате 

Ограничение выборки, оператор LIMIT

Оператор LIMIT позволяет извлечь определённый диапазон записей из одной или нескольких таблиц.

Общая структура запроса с оператором LIMIT

Синтаксис с запятой:

MySQL 8.4
SELECT поля_таблиц
FROM имя_таблицы
LIMIT [число_пропущенных,] число_строк;
  • [ ]необязательная часть
поля_таблиц
Столбцы, которые попадут в результат.
имя_таблицы
Таблица, из которой выбираются данные.
число_пропущенных

Сколько строк пропустить перед выводом. Если не указать, вывод начнётся с первой строки.

Необязательный
число_строк

Сколько строк вывести. Если строк в выборке меньше, выведутся все.

Синтаксис с OFFSET:

MySQL 8.4
SELECT поля_таблиц
FROM имя_таблицы
LIMIT число_строк [OFFSET число_пропущенных];
  • [ ]необязательная часть
поля_таблиц
Столбцы, которые попадут в результат.
имя_таблицы
Таблица, из которой выбираются данные.
число_строк

Сколько строк вывести. Если строк в выборке меньше, выведутся все.

число_пропущенных

Сколько строк пропустить перед выводом. Если не указать, вывод начнётся с первой строки.

Необязательный
MySQL 8.4
SELECT поля_таблиц
FROM имя_таблицы
LIMIT число_строк [OFFSET число_пропущенных];
  • [ ]необязательная часть
поля_таблиц
Столбцы, которые попадут в результат.
имя_таблицы
Таблица, из которой выбираются данные.
число_строк

Сколько строк вывести. Если строк в выборке меньше, выведутся все.

число_пропущенных

Сколько строк пропустить перед выводом. Если не указать, вывод начнётся с первой строки.

Необязательный

Пример использования

Возьмём таблицу Company:

idname
1Don_avia
2Aeroflot
3Dale_avia
4air_France
5British_AW

Для того чтобы вывести строки с 3 по 5, нужно использовать такой запрос:

MySQL 8.4
SELECT * FROM Company LIMIT 2, 3;

Или, что то же самое:

MySQL 8.4
SELECT * FROM Company LIMIT 3 OFFSET 2;
MySQL 8.4
SELECT * FROM Company LIMIT 3 OFFSET 2;

В результате запроса вернётся следующая выборка:

idname
3Dale_avia
4air_France
5British_AW

В данном запросе происходит пропуск первых двух строк таблицы (1, 2), после чего выводятся следующие три записи (3, 4, 5).

А теперь попробуйте сами ⚡️

MySQL 8.4
SELECT * FROM Company
LIMIT 3 OFFSET 2
Количество пропущенных записей
Количество записей для вывода
idname
11Don_avia
22Aeroflot
33Dale_avia
44air_France
55British_AW
Выделите строки таблицы, чтобы увидеть, как меняется запрос ⚡