Разница между CROSS APPLY и другими видами соединений в SQL заключается в следующем:
- CROSS APPLY возвращает только те строки из левого табличного выражения, если они совпадают с правым табличным выражением. 13 Таким образом, CROSS APPLY похож на INNER JOIN. 1
- OUTER APPLY возвращает все строки из левого табличного выражения независимо от их соответствия правому табличному выражению. 13 Для строк, для которых нет соответствующих совпадений в правом табличном выражении, он возвращает значения NULL в столбцах правого табличного выражения. 1 Таким образом, OUTER APPLY эквивалентен LEFT OUTER JOIN. 1
CROSS APPLY используется, когда нет простого соединения и когда правая таблица — это выражение или табличная функция. 3