Obiective
Prin parcurgerea acestui referat studentul va dobandi cunostintele necesare:
- identificarii functiilor grup disponibile;
- descrierii modului de utilizare a functiilor grup;
- gruparii datelor folosind clauza GROUP BY;
- includerii sau excluderii campurilor grupate folosind clauza HAVING;
- descrierii tipurilor de subinterogari;
- definirii unei subinterogari;
- scrierii subinterogarilor single-row si multiple-row.
Functii grup
Functiile grup opereaza pe multimi de inregistrari si furnizeaza un singur rezultat pentru intregul grup. Exemplul de mai jos afiseaza salariul maxim din tabelul emp.
EMP
DEPTNO SAL
--------------- -----------
10 2450
10 5000
10 1300
20 800
20 1100 '' salariul MAX(SAL)
20 3000 maxim in -------------
20 3000 tabelul EMP " 5000
20 2975
30 1600
30 2850
30 1250
30 950
30 1500
30 1250
In tabelul urmator sunt descrise functiile grup ce pot fi utilizate in clauza SELECT. Parametrii impliciti apar subliniati.
Functie Descriere
AVG([DISTINCT|ALL] n) Returneaza valoarea medie a lui n, ignorand valorile null;
COUNT({*|[DISTINCT|ALL] expr}) Returneaza numarul de randuri selectate, unde expr evalueaza altceva decat valori null. Pentru a numara toate randurile selectate, inclusiv randurile duplicat si cele cu valori null, se va folosi '*';
MAX([DISTINCT|ALL]expr) Returneaza valoarea maxima pentru expr, ignorand valorile null;
MIN([DISTINCT|ALL] expr) Returneaza valoarea minima pentru expr, ignorand valorile null;
STDDEV([DISTINCT|ALL] n) Calculeaza abaterea standard a lui n, ignorand valorile null;
SUM([DISTINCT|ALL] n) Calculeaza suma valorilor lui n, ignorand valorile null;
VARIANCE([DISTINCT|ALL] n) Calculeaza varianta lui n, ignorand valorile null;
Folosirea functiilor grup
SELECT coloana, functie_grup(coloana)
FROM tabel
[WHERE conditie]
[ORDER BY coloana];
- DISTINCT implica luarea in considerare numai a valorilor neduplicat. Argumentul ALL ia in considerare fiecare valoare, inclusiv valorile duplicat; este optiunea implicita.
- tipurile de date admise pentru expr sunt: CHAR, VARCHAR2, NUMBER sau DATE.
- toate grupurile de functii, cu exceptia functiei COUNT(*) ignora valorile null. Pentru a inlocui o valoare null cu o alta valoare se poate utiliza functia NVL (e.g. functia NVL(COMM,0) va returna 0 daca COMM are valoarea null si valoarea COMM daca aceasta e diferita de null).
1. Functiile AVG, SUM, MIN si MAX
Functiile AVG si SUM pot fi aplicate doar coloanele ce contin date numerice, in timp ce functiile MIN si MAX opereaza asupra oricarui tip de date. Exemplul urmator afiseaza media salariilor lunare, salariul maxim, respectiv minim si suma salariilor lunare pentru toti angajatii cu functia SALESMAN.
SQL> SELECT AVG(SAL),MAX(sal),
2 MIN(sal),SUM(sal)
3 FROM emp
4 WHERE job LIKE 'SALES';
Gruparea rezultatelor unei interogari. Subinterogari
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.