Я смотрел на CROSS / OUTER APPLY
с коллегой, и мы изо всех сил пытаемся найти реальные примеры того, где их использовать.
Я потратил довольно много времени на Когда мне следует использовать Cross Apply for Inner Join? и googling, но основной (только) пример кажется довольно странным (используя rowcount из таблицы, чтобы определить, сколько строк выбрать из другой таблицы).
Я думал, что этот сценарий может выиграть от OUTER APPLY
:
Таблица контактов (содержит 1 запись для каждого контакта) Таблица протоколов связи (может содержать n телефон, факс, электронную почту для каждого контакта)
Но использование подзапросов, общие выражения таблиц, OUTER JOIN
с RANK()
и OUTER APPLY
все, похоже, работают одинаково. Я предполагаю, что это означает, что сценарий не применим к APPLY
.
Поделитесь некоторыми примерами реальной жизни и помогите объяснить эту функцию!