Некоторые преимущества использования CROSS APPLY по сравнению с другими видами соединений:
- Возможность использовать коррелирующий подзапрос. 1 В него передаются значения из левого табличного выражения, то есть для каждой строки из левой таблицы правая таблица будет своя. 1
- Улучшенный план выполнения и производительность. 3 Это связано с тем, что CROSS APPLY может ограничить набор для объединения ещё до самого объединения. 3
- Возможность возвратить несколько столбцов и строк. 2 В дополнение к этому запрос может содержать ссылки на элементы из левой части, в отличие от объединённого табличного выражения. 2
Таким образом, использование CROSS APPLY позволяет решать задачи, которые не под силу другим видам соединений, например, когда нужно для каждой строки из левой таблицы применить выражение из правой. 12