Kura:
Olha… eu posso estar falando besteira.
Entendo seu conceito pq é o conceito que todos aprendemos quando vamos estudar banco de dados.
Mas essa é uma forma de pensar relacional, não?
Tudo bem… 1 pra N. a chave de 1 vai pra N.
Mas… pensando como OO não seria mais coerente pensar que um pai pode ter 1 ou mais filhos ao inves de cada filho tem um pai?
Ou seria arbitrário?
O que quero dizer é: Enxergar o que você disse como regra, não é pensar puramente relacional?
Não sei mesmo. só perguntando… o.O
Se for pensar puramente em termos do modelo relacional, nem o conceito de relacionamento existe. As pessoas confundem demais entidade-relacionamento com modelo relacional. No modelo relacional, o relacional vem de relação, que é a mesma coisa que tabela. Ou seja, no modelo relacional RELAÇÃO == TABELA. Assim, como não existe o conceito de relacionamento, consequentemente não existe o conceito de navegabilidade. Em compensação, você tem a álgebra relacional, que é muito mais poderosa para compor visões.
Já em termos de OO, temos classes e associações, sendo que as associações podem ter cardinalidade, além da navegabilidade. A navegabilidade, como você mesmo disse, é arbitrária. Ou seja, se duas classes A e B possuem uma associação 1…*, não há nenhuma regra que obrigue que a navegação seja no sentido <- ou ->. Ou seja, você pode definir que B tenha uma referência para A ou que A tenha uma coleção de B. Na prática, a escolha é muito mais uma decisão de implementação do que de modelagem em si.
Mas voltando à pergunta inicial, sim, é perfeitamente possível fazer a query que você postou. Nesse caso, o retorno da consulta é um array (ou lista de arrays) de objetos, obedecendo a sequência declarada na query.