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

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

Common Table Expressions (CTE) — это временный результат запроса, который можно использовать в последующих SQL-запросах. CTE определяется с помощью ключевого слова WITH и существует только во время выполнения запроса.

Преимущества CTE:

  • Улучшает читаемость сложных запросов
  • Позволяет рекурсивные запросы
  • Избегает дублирования кода

Пример:

sql
WITH department_stats AS (
    SELECT department_id, COUNT(*) as employee_count
    FROM employees
    GROUP BY department_id
)
SELECT d.department_name, ds.employee_count
FROM departments d
JOIN department_stats ds ON d.department_id = ds.department_id;

Рекурсивный CTE (например, для иерархии):

sql
WITH RECURSIVE employee_hierarchy AS (
    SELECT id, name, manager_id, 1 as level
    FROM employees
    WHERE manager_id IS NULL
    UNION ALL
    SELECT e.id, e.name, e.manager_id, eh.level + 1
    FROM employees e
    JOIN employee_hierarchy eh ON e.manager_id = eh.id
)
SELECT * FROM employee_hierarchy;
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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