Встречается на 2% собеседований по Python
Что такое 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;
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы