• Your example doesn't work.

    In the left and right joins, Father 3 is displayed.

    With the isnull(....), there is no child record in the son table to apply the isnull too, therefore, the father record never appears.