• the purpose of the article was to show how to get the results using the outer join

    I think it was a good choice as it made the example easy to understand because it kept it linear. Adding another element (optimization) would have just made it more confusing and then you would have had people complaining that you didn't post any optimization proof (screenshots from the optimizer).