Sql Server的新屬性:CROSS APPLY和OUTER APPLY
與Join類似,卻比Join能更精細的控制
例如,左表一條記錄關聯右表多條記錄時,需要控制右表的某一條或幾條記錄跟左表匹配。
這樣原來只有結合join 和PARTITION BY才能做到的查詢就沒必要那么麻煩了。
用法:
select T1.StudentNo, T1.Name, T2.ExamScore, T2.ExamDate fromStudent T1
cross apply(
select top 1 * FROM w_Related r where e.ID = r.MainId ORDER BY r.ID desc
) T2
OUTER APPLY類似;
和join的對應關系:
CROSS APPLY 對應 INNER JOIN
OUTER APPLY 對應 LEFT JOIN
詳細用法:看這里