Средний
Что такое CTE (Common Table Expression) в SQL и зачем оно нужно?
CTE (Обобщенное табличное выражение) — это временный именованный результат запроса, который можно использовать внутри другого SELECT, INSERT, UPDATE или DELETE.
Определяется ключевым словом WITH.
✅ Зачем нужно:
- Делает сложные запросы с подзапросами читаемыми (код идет сверху вниз).
- Позволяет обращаться к одному и тому же подзапросу несколько раз.
- Позволяет делать рекурсивные запросы (
WITH RECURSIVE).
WITH ActiveUsers AS (
SELECT id FROM users WHERE status = 'active'
)
SELECT * FROM orders WHERE user_id IN (SELECT id FROM ActiveUsers);