为了账号安全,请及时绑定邮箱和手机立即绑定

实际示例,何时在SQL中使用OUTER / CROSS APPLY

实际示例,何时在SQL中使用OUTER / CROSS APPLY

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

3 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

一个现实的例子是,如果您有一个调度程序,并且想查看每个调度任务的最新日志条目。


select t.taskName, lg.logResult, lg.lastUpdateDate

from task t

cross apply (select top 1 taskID, logResult, lastUpdateDate

             from taskLog l

             where l.taskID = t.taskID

             order by lastUpdateDate desc) lg


查看完整回答
反对 回复 2019-12-07
  • 3 回答
  • 0 关注
  • 1168 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信