SQLLab
Теория· 5 мин· 10 XP

LIMIT — берём только N строк

Зачем это нужно

Таблица может содержать тысячи строк, но нужны только первые десять. «Топ-5 самых дорогих товаров», «3 последних поступления», «1 самый дешёвый» — всё это решает LIMIT.

Аналогия с жизнью

Официант принёс меню на 50 позиций, но вы говорите: «Покажи мне только три самых популярных блюда». LIMIT 3 — это именно такая инструкция.

Синтаксис

sql
SELECT колонки
FROM таблица
ORDER BY колонка
LIMIT N;

LIMIT всегда идёт последним — после ORDER BY.

Разбор примера

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

PostgreSQL выберет все 36 строк, отсортирует по цене, потом возьмёт первые 5.

Важное правило: LIMIT без ORDER BY — плохая практика

sql
-- ПЛОХО: какие именно 5 строк вернёт — неизвестно
SELECT name FROM products LIMIT 5;

-- ХОРОШО: явно указываем, каких именно 5 нам нужно
SELECT name FROM products ORDER BY name LIMIT 5;

Без ORDER BY результат непредсказуем. Всегда используйте LIMIT вместе с ORDER BY.

Частые ошибки

LIMIT перед ORDER BY — LIMIT 5 ORDER BY price — синтаксическая ошибка. Порядок: ORDER BY → LIMIT.

LIMIT 1 для минимума/максимума — частый паттерн:

sql
-- Самый дешёвый товар
SELECT name, price FROM products ORDER BY price ASC LIMIT 1;

-- Самый дорогой товар
SELECT name, price FROM products ORDER BY price DESC LIMIT 1;

Запомни

LIMIT N — взять первые N строк из результата. Всегда использовать вместе с ORDER BY, иначе результат непредсказуем.


Мини-практика

Напиши запрос: выведи name и price трёх самых дорогих товаров.

Ответ
sql
SELECT name, price
FROM products
ORDER BY price DESC
LIMIT 3;

Прочитайте урок до конца — прогресс засчитается автоматически