cross apply 与 inner join 的区别

Posted JeanWan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cross apply 与 inner join 的区别相关的知识,希望对你有一定的参考价值。

下面还有一个小例子,根据小例子可以将cross apply /outer apply 分别换成inner join /left join,结果是一样的,但是cross apply之后一般是带函数.
inner join之后一般是带表.

create  table  #T(姓名  varchar (10)) insert  into  #T  values ( '张三' ) insert  into  #T  values ( '李四' ) insert  into  #T  values ( NULL  )     create  table  #T2(姓名  varchar (10) , 课程  varchar (10) , 分数  int ) insert  into  #T2  values ( '张三'  '语文'  , 74) insert  into  #T2  values ( '张三'  '数学'  , 83) insert  into  #T2  values ( '张三'  '物理'  , 93) insert  into  #T2  values ( NULL  '数学'  , 50)   --drop table #t,#T2 go   select       from       #T a cross  apply      ( select  课程,分数  from  #t2  where  姓名=a.姓名) b
/* select a. *,b.课程,b.分数 from  我啥时候应该使用 CROSS APPLY 而不是 INNER JOIN?

SQL中的CROSS JOIN与INNER JOIN

MySQL中inner join 和 cross join 的区别

SQL中inner join,outer join和cross join的区别

关于SQL数据库中cross join 和inner join用法上的区别?

MySQL中inner join 和 cross join 的区别