BD-1st-2.4-lab3.tresc-1.1-Slajd13

Z Studia Informatyczne
Wersja z dnia 07:20, 10 sie 2006 autorstwa PKrzyzagorski (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Konstrukcje zaawansowane (1)

Konstrukcje zaawansowane (1)


Dokonamy teraz przeglądu zaawansowanych konstrukcji wykorzystujących funkcje agregujące.

Pierwsza konstrukcja to użycie funkcji agregującej jako parametru innej funkcji agregującej. Przykładowe zapytanie należy wykonywać dwuetapowo. Pierwszy etap to wykonanie zapytania w postaci „SELECT SUM(placa_pod) FROM pracownicy GROUP BY id_zesp”. Wynik tego zapytania to zbiór sum płac podstawowych pracowników w poszczególnych zespołach. Drugi etap to wybór spośród wyliczony wartości wielkości maksymalnej. W wyniku otrzymujemy jeden rekord (zapytanie wykonywane w drugim etapie jest w istocie zapytaniem działającym na jednej grupie).

Kolejny przykład prezentuje zapytanie z jedną grupą (a więc bez zdefiniowanego wyrażenia grupującego), w którym zastosowano klauzulę HAVING. W takim przypadku warunek filtrujący zostaje zastosowany do jedynej grupy zapytania, jeśli warunek nie jest spełniony, zapytanie zwraca wynik pusty. W przykładzie otrzymamy wynik, maksymalną płacę podstawową pracowników z zespołów 10 i 20, pod warunkiem, że w obu zespołach zatrudniono w sumie ponad 12 osób.


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