Встречается на собеседованиях • сегодня
Какие знаешь способы декомпозиции запроса в PostgreSQL
В PostgreSQL есть несколько способов декомпозиции запросов:
-
Подзапросы (Subqueries)
Вложенные SELECT-запросы в WHERE, FROM или SELECT.sqlSELECT name FROM users WHERE id IN (SELECT user_id FROM orders); -
CTE (Common Table Expressions)
Временные результаты сWITH. Улучшают читаемость и поддерживают рекурсию.sqlWITH user_orders AS ( SELECT user_id FROM orders WHERE amount > 100 ) SELECT name FROM users WHERE id IN (SELECT user_id FROM user_orders);
-
Временные таблицы
Создаются на время сессии, полезны для сложных операций.sqlCREATE TEMP TABLE temp_orders AS SELECT * FROM orders WHERE date > NOW() - INTERVAL '1 month'; SELECT * FROM temp_orders; -
Функции (PL/pgSQL)
Кастомные функции для инкапсуляции логики.sqlCREATE FUNCTION get_active_users() RETURNS SETOF users AS $$ BEGIN RETURN QUERY SELECT * FROM users WHERE last_login > NOW() - INTERVAL '30 days'; END; $$ LANGUAGE plpgsql; -
Разделение на несколько запросов
Выполнение поэтапно на стороне приложения (например, в Java через JDBC).
Выбор зависит от сложности, производительности и требований к читаемости.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы