最佳答案
我和一个同事一直在研究 CROSS / OUTER APPLY
,我们正在努力寻找在哪里使用它们的真实例子。
我花了很多时间查看 我什么时候应该在内接头上使用交叉应用?并在谷歌上搜索,但主要(唯一)示例似乎非常奇怪(使用表中的行数来确定从另一个表中选择多少行)。
我认为这种情况可能受益于 OUTER APPLY
:
联系人表(包含每个联系人的1条记录) 沟通条目表(可以包含 n 个电话,传真,电子邮件的每个联系人)
但是使用子查询、公共表表达式、 OUTER JOIN
和 RANK()
以及 OUTER APPLY
的性能似乎都是一样的。我猜这意味着这个场景不适用于 APPLY
。
请分享一些现实生活中的例子,并帮助解释这个特性!