Operator Apply (T-SQL)

W SQL Server 2005 wprowadzono operator Apply. Służy on do łączenia tabeli z funkcją zwracającą również tabelę (table-valued function). Po lewej stronie operatora mamy więc zwykłą tabelę (np. "Employees”) a  po prawej jakąś funkcję (np. “GetContactInfo”). Apply wywoła GetContactInfo dla każdego wiersza z Employee. W T-SQL występują dwie odmiany operatora: CROSS APLY i OUTER APPLY. Pierwszy  z nich złączy wyłącznie te wiersze dla których funkcja zwraca jakiś wynik. Z kolei OUTER APPLY złączy wiersze zastępując brakujące pola wartością NULL. Przykład:

SELECT tbl.FirstName, tbl.LastName, func.Email, func.Phone FROM Employess as tbl
CROSS APPLY
GetContactInfo(tbl.ID_EMPLOYEE) as func;

Jak już wspomniałem, GetContactInfo wywoływany jest dla każdego wiersza zwróconego przez pierwsze zapytanie SELECT.

One thought on “Operator Apply (T-SQL)”

Leave a Reply

Your email address will not be published.