Как написать SQL-запрос для выборки всех кредитов физических лиц с просроченной задолженностью?

Выборка кредитов физических лиц с просроченной задолженностью SQL-запрос к базе данных кредитов Отбираются кредиты, для которых тип клиента указан как "физическое лицо" Проверяются условия: дата платежа (due_date)…

Короткий ответ

Что ответить на собеседовании

Выборка кредитов физических лиц с просроченной задолженностью SQL-запрос к базе данных кредитов Отбираются кредиты, для которых тип клиента указан как "физическое лицо" Проверяются условия: дата платежа (due_date) меньше текущей даты, а статус задолженности равен "просрочена" В результат включаются идентификатор клиента и размер кредита Для фильтрации по категории клиента и наличию просрочки применяется WHERE Функция CURRENT_DATE используется для сравнения дат и определения просрочки Итоговая выборка представляет собой перечень задолженностей для мониторинга и принятия решений

Подробный разбор

Ответ с пояснениями

Выборка кредитов физических лиц с просроченной задолженностью

  • SQL-запрос к базе данных кредитов
  • Отбираются кредиты, для которых тип клиента указан как "физическое лицо"
  • Проверяются условия: дата платежа (due_date) меньше текущей даты, а статус задолженности равен "просрочена"
  • В результат включаются идентификатор клиента и размер кредита
  • Для фильтрации по категории клиента и наличию просрочки применяется WHERE
  • Функция CURRENT_DATE используется для сравнения дат и определения просрочки
  • Итоговая выборка представляет собой перечень задолженностей для мониторинга и принятия решений

Пример SQL-запроса:

SELECT credit_id, client_id, amount, due_date
FROM credits
WHERE client_type = 'individual'
AND due_date < CURRENT_DATE
AND status = 'overdue';

Развёрнутый ответ

Основной ответ

Чтобы получить все кредиты физических лиц с просроченной задолженностью, нужно составить SQL-запрос с фильтрацией по категории клиента и признаку просрочки — наличию непогашенной задолженности после установленной даты платежа. Точный вариант зависит от схемы базы данных, однако в таблице кредитов обычно присутствуют такие поля, как borrower_type или ссылка на тип клиента, дата последнего платежа, остаток долга и дата платежа.

Типовой SQL-запрос может выглядеть так:

SELECT *
FROM credits
WHERE borrower_type = 'individual'
AND due_date < CURRENT_DATE
AND outstanding_amount > 0;

Основные моменты

  • Поле borrower_type либо его аналог задаёт категорию клиента — физическое лицо. Если сведения о типе хранятся в отдельной таблице клиентов, запрос потребуется расширить с помощью JOIN.
  • Условие due_date < CURRENT_DATE проверяет просрочку по дате платежа: установленный срок уже истёк, однако задолженность (outstanding_amount) по-прежнему не погашена.
  • Также просрочку можно определять по статусу кредита или использовать более сложные правила, например исключать кредиты, которые были реструктурированы либо списаны.

Практический контекст

В рабочих системах кредитного учёта таблицы могут иметь названия loans, customers, а сведения о просрочке могут храниться в отдельной сущности, например delinquencies. Для ускорения выборки обычно создают индексы по типу клиента и дате платежа. В проектах на PostgreSQL 14+ для расчёта продолжительности просрочки часто используют оконные функции и CTE.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку