Is there any limit to how deep the sub-areas are nested? If not, then recursive is your only choice. There are some dbms that do support sql extensions for direct depth-first recursive retrieval in a single query, but they are spelled 'oracle' and 'db2'.
Otherwise, with limited depth, you can reduce the the problem to n queries in parallel, where n is the maximum depth, but it's tricky because you only know you're out of items at one level when you read an item that doesn't belong to the parent item, so you have a lot of remembering to do...