Что такое CTE (Common Table Expression)?

Ответ

Именованное временное множество результатов в рамках одного запроса. Синтаксис: WITH name AS (SELECT ...) SELECT ... FROM name. Улучшает читаемость и позволяет рекурсию.

WITH recent_orders AS (
  SELECT * FROM orders WHERE created_at > NOW() - INTERVAL '7 days'
)
SELECT u.name, COUNT(r.id) FROM users u
LEFT JOIN recent_orders r ON u.id = r.user_id GROUP BY u.id, u.name;

Рекурсивный CTE: WITH RECURSIVE для деревьев, последовательностей.

🧠Квиз 🏆Лидеры 🎯Собесед. 📖Вопросы 📚База зн.