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?
MySQL中inner join 和 cross join 的区别
SQL中inner join,outer join和cross join的区别