LIMIT — берём только N строк
Зачем это нужно
Таблица может содержать тысячи строк, но нужны только первые десять.
«Топ-5 самых дорогих товаров», «3 последних поступления», «1 самый дешёвый» —
всё это решает LIMIT.
Аналогия с жизнью
Официант принёс меню на 50 позиций, но вы говорите: «Покажи мне только
три самых популярных блюда». LIMIT 3 — это именно такая инструкция.
Синтаксис
SELECT колонки
FROM таблица
ORDER BY колонка
LIMIT N;
LIMIT всегда идёт последним — после ORDER BY.
Разбор примера
-- Топ-5 самых дорогих товаров
SELECT name, price
FROM products
ORDER BY price DESC
LIMIT 5;
PostgreSQL выберет все 36 строк, отсортирует по цене, потом возьмёт первые 5.
Важное правило: LIMIT без ORDER BY — плохая практика
-- ПЛОХО: какие именно 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 для минимума/максимума — частый паттерн:
-- Самый дешёвый товар
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 трёх самых дорогих товаров.
Ответ
SELECT name, price
FROM products
ORDER BY price DESC
LIMIT 3;
Прочитайте урок до конца — прогресс засчитается автоматически