SQL Server查询中对于单列数据','分割的数据进行的拆分操作,集合的每一个行变多行

时间:2021-11-11 10:27:32

1、cross apply 

  cross apply 我们可以把它看作成是inner join 来使用

2、outer apply 

  outer apply我们可以把它看做是left join 来使用

注意:

  1、得到的结果集 虽然是一样的,但是区别在于,cross apply 和outer apply 在使用的过程中,是不需要加入条件来进行连接。

  2、cross apply 和outer apply 后面接函数之后,所使用到的字段会自动和 它们前面的结果集进行自动关联,大幅度提高查询性能。

 

 

下面我们正式看一个例子。

查询sql

SQL Server查询中对于单列数据','分割的数据进行的拆分操作,集合的每一个行变多行

原始表的字段,我们希望将该列字段变成 没有 ' ,' 分割的字段列,方便进行其他的查询处理

 SQL Server查询中对于单列数据','分割的数据进行的拆分操作,集合的每一个行变多行


 

 

 下面我们看看outer Apply 使用后得到我们需要的结果

查询sql:

SQL Server查询中对于单列数据','分割的数据进行的拆分操作,集合的每一个行变多行

结果截图:

SQL Server查询中对于单列数据','分割的数据进行的拆分操作,集合的每一个行变多行 

 

本文章纯属个人做个笔记,也希望能给一些人带来帮助。

若有疑问,欢迎提出。

 

来源参考:SQLServer连接查询之Cross Apply和Outer Apply的区别及用法