November 20, 2011

CROSS APPLY in SQL Server

We can understand CROSS APPLY by simple example.
In TableCA1 we have following records.

image

In TableCA2

image

Instead of join i am going to use here CROSS APPLY.
See what will be outcome here.

SELECT CA1.ID,CA2.VAL FROM @TableCA1 CA1
CROSS APPLY
@TableCA2 CA2

The output will be something like as below.

image

In certain cases CROSS APPLY is very handy technique to write complex T-SQL statement
with minimal effort.

T-SQL.

DECLARE @TableCA1 TABLE
(ID VARCHAR(5))

INSERT INTO @TableCA1
SELECT 'A' UNION ALL
SELECT 'B' UNION ALL
SELECT 'C' UNION ALL
SELECT 'D'

DECLARE @TableCA2 TABLE
(VAL VARCHAR(5))

INSERT INTO @TableCA2
SELECT 'X'

SELECT CA1.ID,CA2.VAL FROM @TableCA1 CA1
CROSS APPLY
@TableCA2 CA2

That’s It.
Enjoy Learning.

No comments:

Post a Comment