Вопросы к Поиску с Алисой
Основное отличие между CROSS APPLY и OUTER APPLY заключается в том, как они обрабатывают данные. www.osp.ru www.bps-corp.com
CROSS APPLY реализует только один этап логической обработки запроса: применяет выражение из правой таблицы к каждой строке с левой стороны. www.osp.ru Если правая сторона возвращает пустой набор для данной строки слева, оператор CROSS APPLY не будет возвращать эту строку. www.osp.ru
OUTER APPLY, в отличие от CROSS APPLY, сохраняет все левые строки, даже если выражение правой таблицы не возвращает соответствующих строк. www.osp.ru www.bps-corp.com Для строк левой таблицы без соответствующих строк правой таблицы OUTER APPLY заполняет столбцы значениями NULL. www.bps-corp.com
Таким образом, CROSS APPLY подходит для ситуаций, когда нужна фильтрация строк из внешней таблицы, а OUTER APPLY — когда необходимо включить все строки из внешней таблицы, независимо от результатов функции с табличным значением. www.bps-corp.com