1、apply
apply 运算符把右表表达式应用到左输入的每一行,类似于联接,右表可以引用左表中的列
Cross Apply : 将右表 中数据追加到 左表中,不包含 右表中返回NULL 行。
Out Apply:将右表 中数据追加到 左表中,包含 右表中返回NULL 行。
区别:一个包含Null 行,一个不包含。
2、pivot
此运算符可将行转换为列,
使用示例:
SELECT *
FROM
(
SELECT Name,Course,Score
FROM dbo.Achievement
WHERE CrDate IS NOT NULL
GROUP BY Name,Course,Score
) d
PIVOT (max(Score) FOR Course IN (语文,数学,英语)) a
3.unpivot
此运算符可将列转换为行,与pivot相反