@javanub Думаю вы уже поняли чем отличается функция возвращающая что то он функции которая ни чего не возвращает. А что где выводить или не выводить, и как использовать - станет понятно далее.
Я не большой специалист в SQL, можно сказать что этого языка я и не знаю ), но умные люди утверждают что чем яснее для БД выразишь то что от нее надо - тем лучше она этот запрос оптимизирует. Если вы просите сделать join да и еще сгруппировать потом, то мне кажется это должно работать дольше чем мой вариант.
А может и "SELECT * FROM banks WHERE id IN (SELECT bank_id FROM "Кредиты"); будет еще быстрее =) надо проверять (без DISTINCT)