Некоторые преимущества использования CROSS APPLY по сравнению с другими видами соединений:
- Возможность использовать коррелирующий подзапрос. www.sql-tutorial.ru В него передаются значения из левого табличного выражения, то есть для каждой строки из левой таблицы правая таблица будет своя. www.sql-tutorial.ru
- Улучшенный план выполнения и производительность. explainextended.com Это связано с тем, что CROSS APPLY может ограничить набор для объединения ещё до самого объединения. explainextended.com
- Возможность возвратить несколько столбцов и строк. www.osp.ru В дополнение к этому запрос может содержать ссылки на элементы из левой части, в отличие от объединённого табличного выражения. www.osp.ru
Таким образом, использование CROSS APPLY позволяет решать задачи, которые не под силу другим видам соединений, например, когда нужно для каждой строки из левой таблицы применить выражение из правой. www.sql-tutorial.ru www.osp.ru