Встречается на собеседованиях • сегодня

Как работает WITH в PostgreSQL

WITH в PostgreSQL (Common Table Expressions, CTE) позволяет создавать временные результаты, которые можно использовать в основном запросе. CTE улучшают читаемость и позволяют рекурсивные запросы.

Пример:

sql
WITH sales_summary AS (
    SELECT product_id, SUM(amount) AS total_sales
    FROM sales
    GROUP BY product_id
)
SELECT p.name, s.total_sales
FROM products p
JOIN sales_summary s ON p.id = s.product_id;

Особенности:

  • CTE выполняется один раз и сохраняется во временной таблице.
  • Поддерживает рекурсию через WITH RECURSIVE.
  • Оптимизатор может "встраивать" CTE в основной запрос (материализация не гарантирована).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы