Użycie Common Table Expressions


Common Table Expressions może być użyte jako tymczasowa deklaracja kodu w postaci SELECT. CTE pozwala na wielokrotne wykorzystywanie tymczasowego zbioru rekordów w zapytaniu lub innego działania.

Składnia:

WITH expression_name [ ( column_name [,...n] ) ]



AS



( CTE_query_definition ) 


expression_name - nazwa CTE

column_name - nazwy kolumn

CTE_query_definition- kod sql



Przykład

CREATE TABLE TEST (LP INT)

INSERT INTO TEST vALUES (1),(2),(3),(4),(5);



WITH DANE (LP) AS (

SELECT * FROM TEST





)



SELECT * FROM TEST

DROP TABLE TEST

go


Na początku deklarujemy naszą strukturę CTE może to być dowolne zapytanie ważne by kolumny posiadały tak jak w tabeli swoje unikatowe nazwy. Klauzula WITH musi być początkiem naszego bacha więc należy ją poprzedzić średnikiem lub go.



Common Table Expressions możemy łączyć w większe struktury, przykład:

CREATE TABLE TEST (LP INT)

INSERT INTO TEST vALUES (1),(2),(3),(4),(5)

go

WITH DANE (lp)  AS (

SELECT lp FROM TEST

)

, DaneP (lp) as (

select lp from TEST where LP%2=0



)





select * from DaneP a right join DANE b on a.lp = b.lp



DROP TABLE TEST

go







powrót















SQL-KURSY.pl poleca:

Książki
ksikaksikaksikaksikaksika

Copyright 2010-2011mariuszhk@op.pl

obob ob

Valid HTML 4.01 Transitional

Strona internetowa wykorzystuje pliki cookie zapisywane w pamięci przeglądarki internetowej.

OK