ну тут 2 запроса к БД у меня 1, + если данных будет очень много например 50 тысяч то ваш запрос вернёт SELECT bank_id FROM "Кредиты все 50 тысяч значений.
как-то странно, мой запрос должен вернуть только те значения, которые есть в правой таблице (credits), соотвественно если они есть в правой таблице, то значит в этих банках есть кредиты, а попробуйте выполнить такой запрос: select b.* from banks as b INNER JOIN credits as c on c.bank_id = b.id group by c.bank_id;
я уже написал что над осделать, надо разбить ваш МЕГА метод на подметоды и тестировать каждый по отдельности, в тех методах возвращать данные в МЕГА методе можете не возвращать его соотвественно и не тестировать