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

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

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

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

Если не указать количество пропущенных записей, то их отсчёт будет вестись с начала таблицы.

Оператор LIMIT реализован не во всех СУБД, например, в MSSQL для вывода записей с начала таблицы используется оператор TOP, а для тех случаев, когда необходимо сделать отступ от начала таблицы, предназначена конструкция OFFSET FETCH.

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

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

idname
1Don_avia
2Aeroflot
3Dale_avia
4air_France
5British_AW

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

MySQL
SELECT * FROM Company LIMIT 2, 3;

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

MySQL
SELECT * FROM Company LIMIT 3 OFFSET 2;

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

idname
3Dale_avia
4air_France
5British_AW

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

Задания для самопроверки

Многотабличные запросы
Вложенные SQL запросы