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

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

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

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

  • Определяются с помощью WITH
  • Существуют только во время выполнения запроса
  • Могут быть рекурсивными
  • Могут ссылаться на другие CTE в том же запросе

Пример:

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

Рекурсивный CTE:

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

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

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

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