SQLSERVER中CROSS_APPLY与OUTER_APPLY的区别

SQLSERVER中CROSS_APPLY与OUTER_APPLY的区别

1.说明:

写SQL语句时,自己出现一点混淆,记录下,希望也能帮到大家

apply:

1.表运算符的功能
2.作用: 将右表6表达式应用到左表的表达式每一行

与join的区别:

 join:
 需要提前计算那个表的表达式
 
 但apply必需先逻辑的计算表达式,就是将右表得到的结果运用到左表上

2.CROSS APPLY与OUTER APPLY的区别

如果你对inner joinouter join熟悉的话,其实就理解了

CROSS APPLY:仅仅展示左表与右表的都有的查询结果 (**注意:**是当且仅当左表和右表都有的数据展示)

OUTER APPLY:当关联查询时,左表有数据,右表的查询记录为空时,用NULL替代,以左表的为基准(就是左表的所有结果都会显示)

举个例子:

假设在一个学校:我要在选定的甲班和乙班中选择学生姓名为赵小泊的名字相同的同学学生信息

CROSS APPLY:只有当甲班和乙班同时都同时含有名叫赵小泊的学生,才有出查询结果;否则,查不出.

OUTER APPLY:当甲班有,不管乙班有没有小泊同学,都显示出查询结果,若乙班没有,就显示为NULL

3.完结

加油!!奥利给!!!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值