ZSBD-2st-1.2-w10.tresc-1.4-Slajd19

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Podzapytania

Podzapytania


W zapytaniach XQuery można zagnieżdżać wyrażenia FLWOR.

Najczęściej zagnieżdżenia występują:

- w klauzuli RETURN

- jako argumenty funkcji

- w klauzuli WHERE pod postacią np. wyrażeń ilościowych

Zagnieżdżenia mogą wykorzystywać wcześniej przypisane zmienne. Zagnieżdżenia w klauzuli RETURN, umieszczone pomiędzy ciągami znaków tworzącymi szablon wyniku, ograniczamy nawiasami klamrowymi. W podobny sposób postępujemy z wymagającymi ewaluacji odwołaniami do wartości zmiennych.

Przykładowe zapytania z zagnieżdżonym wyrażeniem FLWOR umieszczono na slajdzie.

W pierwszym przypadku zapytanie zewnętrzne odwołuje się do dokumentu zespoly.xml i wydobywa z niego elementy id_zesp, które przypisuje do zmiennej $z, każdorazowo tworząc nową krotkę. Dla każdej krotki klauzula RETURN tworzy element zespol, w którego wnętrzu zostanie umieszczony element nazwa (ewaluacja zmiennej wymaga użycia nawiasów klamrowych) oraz wynik zagnieżdżonego wyrażenia FLWOR – las elementów nazwisko. W podzapytaniu wykorzystano zewnętrzną zmienną $z do ograniczenia krotek (wydobycia pracowników należących do danego zespołu) co oczywiście skutkuje tym że podzapytanie utworzy odpowiednio wyselekcjonowane elementy nazwisko.

Podzapytanie bywa też najczęstszym sposobem na generowanie wyników w postaci dokumentów poprawnych w sensie well-formed. Zapytanie drugie jest tego przykładem.


<< Poprzedni slajd | Spis treści | Następny slajd >>