Speaking of SQL CROSS JOIN vs CROSS APPLY, one should mention that CROSS APPLY retrieves all the records from the table where there are corresponding matching rows in the output returned by the table-valued function. The table-valued function acts as the right input and the outer table expression acts as the left input. In fact, CROSS APPLY works similarly to row-by-row INNER JOIN.