Типичные таблицы в веб-проектах содержат огромное число данных, поэтому их никогда не показывают на страницах сразу все. Обычно выводится лишь небольшая часть — скажем, 50 строк. Для ограничения выборки используется LIMIT
.
SELECT * FROM users LIMIT 10;
Такой запрос извлечёт 10 записей. Как вы уже знаете, из-за неопределённости порядка сортировки по умолчанию неизвестно, какие это будут записи. Для гарантии обязательно явно определять сортировку. Более того, LIMIT
без сортировки практически никогда не используется.
SELECT * FROM users ORDER BY id LIMIT 10;
А что, если пользователь, просмотрев первые 10 записей, захочет посмотреть следующие 10? Это обычная ситуация, которая реализуется через пейджинг — специальный механизм, который позволяет перемещаться по страницам. Для его реализации одного LIMIT
не достаточно, также понадобится смещение OFFSET
:
SELECT * FROM users ORDER BY id LIMIT 10 OFFSET 10;
Этот запрос отсортирует пользователей, пропустит первые 10 (за счет части OFFSET 10
) и возьмёт 10 записей. Таким образом, меняя OFFSET
, можно обойти все данные в таблице:
-- выбрать записи с 21 по 30
SELECT * FROM users ORDER BY id LIMIT 10 OFFSET 20;
-- выбрать записи с 31 по 40
SELECT * FROM users ORDER BY id LIMIT 10 OFFSET 30;
Вам ответят команда поддержки Хекслета или другие студенты.
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.
Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно.
Наши выпускники работают в компаниях:
С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.
Зарегистрируйтесь или войдите в свой аккаунт