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之间的区别