Что такое CTE (Common Table Expressions) в SQL?

CTE — именованный результат запроса, объявленный через WITH и доступный внутри одного SQL-выражения. Он помогает разделить сложную выборку на логические части.

Короткий ответ

Что ответить на собеседовании

CTE — именованный результат запроса, объявленный через WITH и доступный внутри одного SQL-выражения. Он помогает разделить сложную выборку на логические части.

Подробный разбор

Ответ с пояснениями

CTE — именованный результат запроса, объявленный через WITH и доступный внутри одного SQL-выражения. Он помогает разделить сложную выборку на логические части.

WITH totals AS (
    SELECT customer_id, SUM(amount) AS total
    FROM orders
    GROUP BY customer_id
)
SELECT customer_id, total FROM totals WHERE total > 1000;

CTE не является постоянной таблицей. Рекурсивные CTE применяют для деревьев и графов с контролем циклов. Материализация и оптимизация зависят от СУБД, версии и запроса: WITH не гарантирует ни ускорение, ни однократное вычисление во всех случаях.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее