III. CZEŚĆ
fSi ' U-'X *mfi,nkc» ******* (suMorpczne, podsumowującej wracają dane z jedni lub kilku tabel podsumowane prze ,dw j?rj-^''^^ychJunUjt cm ST, A VG, SUM, MAS. MIS ,w Oracle dodatków o STDEI' i UARIANCE) <W2J3
atbo Dtsm/CT wymienić Zwracana jest pojedyncza wartość. • ”*..... '
.-wro.-;Ł uwagę na fakt U funkcje agregujący działają na rekordach zwróconych prze: zastosowanie instrukcji SELECT czi/i yP . 1 JC :htor fordów, a dopiero potem do lak otrzymanych wartości stosowana jest funkcja agregująca, wyniku lego typu zapytań zwracane są nic rekordy, lecz informacja o ich zawartości.
Oblicz średni zarobek w firmie.
SELECT AVG(sal)
KROM emp;
Znajdź minimalne zarobki na stanowisku CLERK.
SELECT MIN(sal)
KROM emp
WHERE job = ‘CLERK’
Znajdź ilu pracowników zatrudniono w departamencie 20.
SELECT count(*}
FOM emp
WHERE deptno = 20;
lataj zliczamy rekordy zwrócone instrukcją SELECT * EROM ... która zwraca wszystkie pola tabeli 1 rekordy zgodnie z ograniczeniomi klauzuli WHERE Sie musimy zwracać wszystkich pól Wystarczy jedno, dowolne pole które ma wartość <> '' ” kazdłm żądanym rekordzie może nią być literał. Porów naj wynik instrukcji SELECT cokolwiek' FRUM emp WHERE
deptno 20:
Zapylania gru/nijaee - istnieje możliwość podziału wynikowych wierszy na grupy (klauzula GROUP BY) i wykonania funkcji sumarycznych na wartościach należących do poszczególnych grup. Klauzula HAiTHG warunek ogranicza wypisywane grupę.
4. Obliczyć średnie zarobki na każdym ze stanowisk pracy.
SELECT job, AVG(sal)
FROM emp GROUP BY job;
5. Obliczyć średnie zarobki na każdym ze stanowisk pracy z wyjątkiem stanowiska MANAGER.
SELECT job, AVG(sal)
FROM emp
WHERE job != ‘MANAGER’
GROUP BY job;
6- Obliczyć średnie zarobki na każdym ze stanowisk pracy w każdym departamencie.
SELECT deptno, job, AVG(sal)
FROM emp
GROUP BY deptno, job;
7. Dla każdego stanowiska oblicz maksymalne zarobki.
SELECT MAX (sal), job FROM emp GROUP BY job;
8. Wybrać średnie zarobki tylko tych departamentów, które zatrudniają więcej niż trzech pracowników.
Ograniczenie wybranych grup przez użycie klauzuli HA PING do tych tylko, które spełniają zadane «• tej klauzuli warunek
SELECT deptno, AVG(sal)
FROM emp GROUP BY deptno HAVING COUNT (•) > 3;
9. Wybrać tylko te stanów iska, na któiych średni zarobek wynosi 3000 lub więcej.
SELECT job, AVG(sal)
FROM emp
7