I\'m always discouraged from using one, but is there a circumstance when it\'s the best approach?
They're handy for finding orphaned data but I rarely use then in production code. I wouldn't be "always discouraged from using one" but I think in the real world they are less frequently the best solution compared to inners and left/right outers.