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

Работал ли с WITH в PostgreSQL

Да, работал. WITH в PostgreSQL используется для создания временных таблиц (CTE — Common Table Expressions), которые существуют только во время выполнения запроса. Это удобно для структурирования сложных запросов, рекурсивных запросов и улучшения читаемости.

Пример простого CTE:

sql
WITH recent_orders AS (
    SELECT * FROM orders WHERE order_date > NOW() - INTERVAL '30 days'
)
SELECT * FROM recent_orders WHERE total_amount > 1000;

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

sql
WITH RECURSIVE employee_hierarchy AS (
    SELECT id, name, manager_id FROM employees WHERE id = 1
    UNION ALL
    SELECT e.id, e.name, e.manager_id 
    FROM employees e
    JOIN employee_hierarchy eh ON e.manager_id = eh.id
)
SELECT * FROM employee_hierarchy;

CTE можно использовать в SELECT, INSERT, UPDATE, DELETE. Они выполняются один раз и могут ссылаться на себя (с RECURSIVE).

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

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

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

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