Многое зависит от того как выставлены индексы и как напишете запрос. Если строк в таблицах много, если правильно выстроены индексы, и важна скорость выполнения, и не нужна наглядность самого кода(я так и не понял - сам запрос тоже в образовательных целях или только результат работы программы), то лучше писать в один запрос, естественно придётся его "полировать"(или переделывать запрос смотря на результат или смотреть "план запроса"). А если там строк немного и потом кто то будет смотреть/править Ваш код - то лучше писать небольшие запросы с комментариями.