一. 需求是需要把','分割的字符串转为表,便于做关联查询,于是发现可以通过xml转为表,如下: declare @XXX xml set @XXX = ' <v> <aa>12345</aa> <bb>23456</bb> </v> <v> <aa>54321</aa> <bb>65432</bb> </v>' SELECT F.p.value('.', 'va…
1.COUNT(column_name) 函数返回指定列的值的数目(NULL 不计入)2.COUNT(*) 函数返回表中的记录数 select *   from TABLE_1 T1 outer apply FN_TableValue(T1.column_a) cross apply 和 outer apply 对于 T1 中的每一行都和派生表(表值函数根据T1当前行数据生成的动态结果集) 做了一个交叉联接. cross apply 和outer apply 的区别在于: 如果根据 T1 的某行…
日常开发中遇到多表查询时,首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等,但是这两种查询有时候不能满足需求.比如,左表一条关联右表多条记录时,我需要控制右表的某一条或多条记录跟左表匹配.貌似,INNER JOIN 或 LEFT OUTER JOIN 不能很好完成.但是 CROSS APPLY 与 OUTER APPLY 可以 有两张表:Student(学生表)和 Score(成绩表),数据如下 1)查询每个学生最近两次的考试成绩 SELECT T1.StudentNo…
https://blog.csdn.net/wikey_zhang/article/details/77480118 先简单了解下cross apply的语法以及会产生什么样的结果集吧! 示例表: SELECT * FROM tableA CROSS APPLY tableB 两张表直接连接,不需要任何的关联条件,产生的结果就是这两张表的笛卡儿集,在这里和上一篇帖子讲的cross join交叉连接的结果集是一样的 相当于:select * from tableA,tableB 与之对应的还有Ou…
先简单了解下cross apply的语法以及会产生什么样的结果集吧!示例表: SELECT * FROM tableA CROSS APPLY tableB 两张表直接连接,不需要任何的关联条件,产生的结果就是这两张表的笛卡尔积 相当于:select * from tableA,tableB与之对应的还有Outer Apply,下面讲解一下Cross Apply 和 Outer Apply 的区别:首先是Cross Apply: SELECT * FROM tableA a CROSS APPL…
转载链接:http://www.cnblogs.com/shuangnet/archive/2013/04/02/2995798.html apply有两种形式: cross apply 和 outer apply 先看看语法: <left_table_expression>  {cross|outer} apply <right_table_expression> 再让我们了解一下apply运算涉及的两个步骤: A1:把右表表达式(<right_table_expressi…
SQL 关于apply的两种形式cross apply 和 outer apply 例子: CREATE TABLE [dbo].[Customers]( ) COLLATE Chinese_PRC_CI_AS NOT NULL, ) COLLATE Chinese_PRC_CI_AS NOT NULL, PRIMARY KEY CLUSTERED ( [customerid] ASC )WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY] ) ON [PRIMARY…
SQL 关于apply的两种形式cross apply 和 outer apply   apply有两种形式: cross apply 和 outer apply   先看看语法:   <left_table_expression>  {cross|outer} apply <right_table_expression>   再让我们了解一下apply运算涉及的两个步骤:   A1:把右表表达式(<right_table_expression>)应用到左表(<l…
前言 日常开发中遇到多表查询时,首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等,但是这两种查询有时候不能满足需求.比如,左表一条关联右表多条记录时,我需要控制右表的某一条或多条记录跟左表匹配.貌似,INNER JOIN 或 LEFT OUTER JOIN 不能很好完成.但是 CROSS APPLY 与 OUTER APPLY 可以,下面用示例说明. 示例一 有两张表:Student(学生表)和 Score(成绩表),数据如下: 1)   查询每个学生最近两次的考试成绩…
Ø  前言 日常开发中遇到多表查询时,首先会想到 INNER JOIN 或 LEFT OUTER JOIN 等等,但是这两种查询有时候不能满足需求.比如,左表一条关联右表多条记录时,我需要控制右表的某一条或多条记录跟左表匹配.貌似,INNER JOIN 或 LEFT OUTER JOIN 不能很好完成.但是 CROSS APPLY 与 OUTER APPLY 可以,下面用示例说明. 1.   示例一 Ø  有两张表:Student(学生表)和 Score(成绩表),数据如下: 1)   查询每个…