Learnly
SQL для аналитиков/Глава 4/Урок 3

LIMIT: не выгружай лишнего

LIMIT: не выгружай лишнего

LIMIT, маленькая команда с большим значением. Она ограничивает количество строк в результате.

Зачем нужен LIMIT

Таблица заказов может содержать 50 миллионов строк. Если написать SELECT * FROM orders без ограничения, база начнёт выгружать все 50 миллионов. Это:

  • Займёт несколько минут
  • Съест всю память браузера или BI-инструмента
  • Положит базу если запросов несколько

LIMIT защищает от этого.

Синтаксис

SELECT *
FROM users
LIMIT 10;

Вернёт только первые 10 строк.

LIMIT + ORDER BY = смысл

Без сортировки LIMIT вернёт случайные строки, какие база "нашла первыми". Это непредсказуемо.

Почти всегда LIMIT используют вместе с ORDER BY:

-- Последние 5 заказов
SELECT *
FROM orders
ORDER BY created_at DESC
LIMIT 5;

-- Топ-10 самых дорогих товаров
SELECT name, price
FROM products
ORDER BY price DESC
LIMIT 10;

-- Самый молодой пользователь
SELECT name, age
FROM users
ORDER BY age ASC
LIMIT 1;

OFFSET, пропустить строки

Пагинация, классический кейс:

-- Страница 1 (строки 1-10)
SELECT * FROM products LIMIT 10 OFFSET 0;

-- Страница 2 (строки 11-20)
SELECT * FROM products LIMIT 10 OFFSET 10;

-- Страница 3 (строки 21-30)
SELECT * FROM products LIMIT 10 OFFSET 20;

Формула: OFFSET = (номер_страницы - 1) * размер_страницы

Первое что делать с незнакомой таблицей

-- Посмотреть структуру и примеры данных
SELECT * FROM some_table LIMIT 5;

-- Сколько всего записей?
SELECT COUNT(*) FROM some_table;

Эти два запроса, стандартное начало знакомства с любой новой таблицей.

💡 Главная мысль: Всегда используй LIMIT при первом знакомстве с таблицей. С большими данными это не осторожность, это необходимость.