You are here:
Cross Join
A cross join combines unrelated records and includes all rows from the left and the right input data source objects. Unlike other joins that use keys to find matches, the cross join pairs every row from one data source with every row of another data source.
- 10,000-row input source (left) with a 1,000-row input source (right)
- 20,000-row input source (left) with a 500-row input source (right)
- 40,000-row input source (left) with a 250-row input source (right)
- 100,000-row input source (left) with a 100-row input source (right)
A company sells products at various locations. To assist with stock tracking, use a cross join to combine the product and store data to find all the possible pairs of product and store.
To illustrate how this join combines unrelated records, row number is included for reference but isn’t needed in the data.

After performing the cross join, the batch data transfrm produces this output.

Limitations for Cross Join
Because a cross join creates a larger output than either of the input data sources, it has some limitations. Keep these points in mind when designing and testing your cross join.
- Only one cross join per data transform
- Cross join results maximum of 10 million
- Left object field (column) maximum of 8 and row maximum of 100,000
- Right object field (column) maximum of 8 and row maximum of 1,000
- Doesn’t support multivalue fields

