Оператор apply может быть объединен с табличной функцией для получения результата, похожего на результирующий набор операции соединения двух таблиц. Примеры 8.20 и 8.21 показывают, как вы можете использовать apply.
Функция fn_getjob() в примере 8.20 возвращает набор строк из таблицы workson. Результирующий набор «соединяется» в следующем примере с содержимым таблицы employee.
В первом запросе примера 8.21 результирующий набор табличной функции fngetjobO «соединяется» с содержимым таблицы employee за счет использования оператора cross apply. Табличная функция fn get job выступает в качестве правого ввода, а таблица employee - в качестве левого ввода. Правый ввод вычисляется для каждой строки из левого ввода, и полученные строки комбинируются, создавая окончательный вывод.
Второй запрос похож на первый, но использует outer apply, который соответствует операции внешнего соединения двух таблиц.