Eu li em todo lugar que as junções são associativas e comutativas.
Então A join (B join C)
deve ser o mesmo que (A join C) join B
.
Mas tenho muita dificuldade em entender como isso pode ser assim. Suponha que A tenha uma propriedade em comum com B e B tenha uma propriedade em comum com C, mas A e C não compartilhem propriedades comuns para unir.
Parece que nesse caso, na segunda instância (A join C) join B
, quando ocorresse a operação de junção de A e C resultaria em um conjunto vazio, impossibilitando a junção com B.
Considerando que no primeiro caso funcionaria porque B juntar C resultaria na tabela unida esperada que teria uma propriedade para unir com A.