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

Какой писал самый сложный запрос к БД

Один из самых сложных запросов, которые мне приходилось писать, включал рекурсивный обход дерева категорий с агрегацией данных из связанных таблиц. Использовал WITH RECURSIVE в PostgreSQL для иерархического поиска и JOIN с фильтрацией по условиям.

Пример:

sql
WITH RECURSIVE category_tree 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, ct.level + 1
    FROM categories c
    JOIN category_tree ct ON c.parent_id = ct.id
)
SELECT 
    ct.name AS category,
    COUNT(p.id) AS product_count,
    SUM(p.price) AS total_value
FROM category_tree ct
LEFT JOIN products p ON p.category_id = ct.id
WHERE ct.level <= 3
GROUP BY ct.id, ct.name
ORDER BY ct.level, ct.name;

Особую сложность представляла оптимизация производительности при большом объеме данных.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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