SQL
Теория: Ограничение выборки
Таблицы в веб-проектах содержат огромное количество данных, поэтому их никогда не показывают на страницах сразу все. Обычно выводится лишь небольшая часть — например, 10 строк.
Чтобы ограничить выборку, используется LIMIT. В этом уроке разберем, как работать с таким запросом.
Как ограничивать выборку таблицы
Представим, что нам нужно извлечь 10 записей. Для этого выполним такой запрос:
Мы не знаем, какой порядок сортировки был по умолчанию. Поэтому мы не можем заранее узнать, какие 10 записей мы получим. Чтобы это выяснить, нужно определить сортировку.
Оператор LIMIT без сортировки практически никогда не используется. Поэтому нужно задать сортировку таким образом:
Как показать все данные по выборкам
Допустим, пользователь хочет посмотреть следующие 10 записей. Это реализуется через пагинацию — механизм, который позволяет перемещаться по страницам.
Чтобы реализовать пагинацию, одного LIMIT недостаточно. Еще понадобится смещение OFFSET:
Этот запрос:
- Отсортирует все записи.
- Пропустит первые 10 записей за счет части
OFFSET 10. - Возьмет следующие 10 записей.
Если менять OFFSET, можно обойти все данные в таблице:
Выводы
В этом уроке мы научились ограничивать выборку с помощью оператора LIMIT. Это помогает работать с таблицами, в которых слишком много данных.
При этом нужно не забывать о сортировке данных - без нее оператор LIMIT на практике не используется. А чтобы выбрать записи не с начала таблицы, нужно воспользоваться смещением OFFSET.
.png)






















