Outer left and outer right are exactly the same. Inner join is slightly faster because it does slightly less work.
The top answer on stack overflow goes into more detail.
When you're dealing with legacy data and data structures that has gone through several generations it gets too complicated for me. I can offer no advice