SQLSERVER中CROSS_APPLY与OUTER_APPLY的区别
1.说明:
写SQL语句时,自己出现一点混淆,记录下,希望也能帮到大家
apply:
1.表运算符的功能
2.作用: 将右表6表达式应用到左表的表达式每一行
与join的区别:
join:
需要提前计算那个表的表达式
但apply必需先逻辑的计算表达式,就是将右表得到的结果运用到左表上
2.CROSS APPLY与OUTER APPLY的区别
如果你对inner join
和outer join
熟悉的话,其实就理解了
CROSS APPLY
:仅仅展示左表与右表的都有的查询结果 (**注意:**是当且仅当左表和右表都有的数据展示)
OUTER APPLY:
当关联查询时,左表有数据,右表的查询记录为空时,用NULL
替代,以左表的为基准(就是左表的所有结果都会显示)
举个例子:
假设在一个学校:我要在选定的甲班和乙班中选择学生姓名为赵小泊的名字相同的同学学生信息
CROSS APPLY:只有当甲班和乙班同时都同时含有名叫赵小泊的学生,才有出查询结果;否则,查不出.
OUTER APPLY:当甲班有,不管乙班有没有小泊同学,都显示出查询结果,若乙班没有,就显示为NULL
3.完结
加油!!奥利给!!!