No common column names means every pair survives.

highlighted = computed this step

No common columns means CROSS JOIN

If the two inputs share no column names, every left row pairs with every right row.

no common columns\text{no common columns}

Read fallback rows

There are 6 candidate pairs and all 6 become output rows.

fallback rows=6\text{fallback rows}=6

NATURAL JOIN examples are tiny finite-table transforms; SQL dialect completeness, type coercion, optimizer behavior, execution cost, indexing, output ordering guarantees, and database-product claims are out of scope.

No common columns means CROSS JOIN: left tableorder_idamount130240 No common columns means CROSS JOIN: right tableregionlabeleastEwestWnorthN automatic common-column discoverycommonColumnleftIndexrightIndexnonecross joinfallback candidate row comparisonsleftSourcerightSourcechecksmatched00[no common columns: CROSS JOIN fallback]yes01[no common columns: CROSS JOIN fallback]yes02[no common columns: CROSS JOIN fallback]yes10[no common columns: CROSS JOIN fallback]yes11[no common columns: CROSS JOIN fallback]yes12[no common columns: CROSS JOIN fallback]yes NATURAL JOIN output rowsleft.order_idleft.amountright.regionright.label130eastE130westW130northN240eastE240westW240northN NATURAL JOIN factsfactvalueleftRowCount2rightRowCount3commonColumns[]commonColumnCount0candidatePairCount6matchingPairCount6matchedLeftRows2duplicateMatchRows4nullCommonCandidatePairs0fallbackModecross_joinfirstCommonColumnOnlyMatchCount0narrowedByExtraCommonColumns0outputColumnCount4rowOrderleft_source_then_right_source

No comparison exists

The discovery table says none, so there is no equality check to fail.

cross join fallback\text{cross join fallback}

Summary

This scoped model makes the no-common fallback explicit instead of hiding it.

fallback visible\text{fallback visible}