Встречается на собеседованиях • сегодня
Что такое оператор WITH в БД
Оператор WITH (Common Table Expression, CTE) позволяет создавать временные результаты запроса, которые можно использовать в основном запросе. Он улучшает читаемость и поддерживает рекурсивные запросы.
Пример:
sql
WITH sales_summary AS (
SELECT product_id, SUM(quantity) AS total_quantity
FROM sales
GROUP BY product_id
)
SELECT p.name, s.total_quantity
FROM products p
JOIN sales_summary s ON p.id = s.product_id;Особенности:
- CTE существует только во время выполнения запроса
- Может быть рекурсивным (с
WITH RECURSIVE) - Упрощает сложные запросы, разбивая их на части
- Альтернатива подзапросам и временным таблицам
Рекурсивный пример:
sql
WITH RECURSIVE hierarchy AS (
SELECT id, name, parent_id FROM employees WHERE id = 1
UNION ALL
SELECT e.id, e.name, e.parent_id
FROM employees e
JOIN hierarchy h ON e.parent_id = h.id
)
SELECT * FROM hierarchy;
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы