465просмотров
20.3%от подписчиков
16 февраля 2026 г.
📷 ФотоScore: 512
CTE в SQL — читаем сложные запросы как нормальные люди
Когда обычный SELECT уже похож на спагетти-код — приходит CTE (Common Table Expression). Это такой временный именованный результат, как подзапрос, но читается понятнее. Пример: WITH active_users AS ( SELECT id, name FROM users WHERE is_active = true
)
SELECT * FROM active_users WHERE name ILIKE 'A%'; Что происходит:
WITH создаёт временную "таблицу" active_users. Далее мы к ней просто обращаемся. Можно использовать рекурсивные CTE — например, для обхода иерархий (деревьев, меню, категорий). Плюсы CTE: Код чище, Удобно разбивать сложную логику, Можно переиспользовать промежуточные данные
Минус — может быть медленнее, чем вложенные подзапросы, если использовать неаккуратно (в PostgreSQL до 12 CTE всегда материализуются). YouTube | ITSystem | Отзывы
🔥Накидайте огней🔥