sql查询表值函数返回表 Out Apply关键字的使用

out  apply是sql中较少使用的关键字。它还有个兄弟 cross apply。

表值函数可以返回一个表作为函数的结果。如:

CREATE FUNCTION fnGetFlightSegment(@orderNo varchar(32))
RETURNS TABLE
AS
RETURN
( 
    SELECT * FROM FlightSegment
    WHERE OrderNo= @orderNo
)

我们的主表,比如FlightOrder表是没法和表值函数进行关联(inner join left join 等)。但是可以使用 out Apply 或者 cross  Apply函数进行关联。

两者的区别有一篇文章翻译解释的非常好,请参照文章:

文章标题:sql out apply_在SQL Server中CROSS APPLY和OUTER APPLY之间的区别

原文地址:https://www.cnblogs.com/Tpf386/p/15272471.html