Joining multiple objets is not a platform feature; however, there are some ways to accomplish this goal.
First, consider what we need to do. Let's say we need to pull all accounts, and each contact associated for each account. For a normal API endpoint, Salesforce excluded, they would have
GET /contacts and
GET /accounts. To get this data you would need to call GET /accounts, then for each account call something like
GET /contacts?where=accountId = <accountId>
This is a huge operation, n + 1 API calls, n being the number of accounts. You will probably hit the API rate limits for that endpoint. Now you could do that, if the number of accounts is manageable. You could even put this logic in a Formula as a Resource and have CE do it for you. But this is not recommended.
The recommended approach is to do a Bulk download of contacts, and a bulk download of accounts and join them yourself.