tldr; Just use an OUTER join when such is the goal.
from x,y
is just another way of writing a from x cross join y
; and a CROSS join results in a Cartesian product - a WHERE restriction establishing a relationship between the tables makes it equivalent to a normal [INNER] JOIN with equivalent join ON condition.
.. a Cartesian product is a mathematical operation which returns a set (or product set or simply product) from multiple sets. That is, for sets A and B, the Cartesian product A × B is the set of all ordered pairs (a, b) where a ∈ A and b ∈ B.
That is, unlike an [OUTER] LEFT join, a CROSS join can't "make up the blank records" because they exist in neither A nor B.
Thus one would have to synthesize (ie. join with a derived table containing) the "missing" records before (or after, I suppose) the CROSS join was applied, which leads back to using an OUTER join to create the derived table ..
See this answer for a graphical (but non-Venn diagram) way to visualize the results; note that NULL is only introduced with the OUTER joins; not INNER or CROSS joins - or a CROSS join pretending to be an INNER join.