"David G. Johnston" <david.g.johnston@gmail.com> writes:
> Per the docs:
> "If there are no common column names, NATURAL behaves like CROSS JOIN."
> I'm being a bit pedantic here but since NATURAL is a replacement for
> "ON/USING" it would seem more consistent to describe it, when no matching
> columns are found, as "behaves like specifying ON TRUE" instead.
Yeah, the analogy to CROSS JOIN falls down if it's an outer join.
I'll go fix that.
> I find it a bit strange, though not surprising, that it doesn't devolve to
> "ON FALSE".
No, it's normal that an AND of no conditions degenerates to TRUE.
It's like omitting a WHERE clause.
regards, tom lane