Scrigroup - Documente si articole

Username / Parola inexistente      

Home Documente Upload Resurse Alte limbi doc  
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


GRUPAREA DATELOR - ORACLE

baze de date



+ Font mai mare | - Font mai mic



GRUPAREA DATELOR - ORACLE

Acest capitol explica cum informatiile concise pot fi obtinute pen- tru grupuri de siruri folosind functiile de grup.



Vom discuta cum puteti divide sirurile dintr-o tabela in seturi mai mici si cum sa specificati criteriile de cautare intr-un grup de siruri.

Functiile de grup se aplica unui set de siruri.Ele intorc rezultate bazate pe grupuri de siruri , spre deosebire de un rezultat pe sir care e returnat de functii singulare.De regula , toate sirurile din tabela sunt tratate ca un grup.Clauza GROUP BY din cadrul lui SELECT e folosita pentru a imparti sirurile in grupuri mai mici.

Functiile de grup sunt listate mai jos:

Valoare returnata

AVG(

valoarea medie a lui n, ignorind valorile nule.

COUNT( expr*)

nr. de siruri unde expresia e evaluata la altceva decit NULL. (*) face ca COUNT sa numere toate sirurile selectate, incluzind duplicatele si sirurile cu NULL.

MAX(expr)

maximul valorilor expr.

MIN(expr)D

minimul valorilor expresiei expr.

STDDEV(n)

deviatia standard a lui n , ignorind valorile nule.

SUM(n)

suma valorilor lui n , ignorind valorile nule.

VARIANCE(n)

variatia lui n , ignorind valorile nule.

Toate functiile de deasupra opereaza pe un nr. de siruri (de ex., o intreaga tabela) si sunt cunoscute ca functii de grup sau agregate. DISTINCT face ca functia de grup sa considere doar valorile(nedupli- cate).

ALL considera fiecare valoare , incluzind si toate duplicatele. Implicit este ALL.
Tipul datelor argumentelor poate fi CHAR,NUMBER sau DATA unde expr e listata.
Toate fuctiile de grup cu exceptia lui COUNT(*) ignora valorile nule. Folositi NVL ca de obicei pentru a include null.

Folosirea functiilor de grup

Pentru a calcula salriul mediu al tuturor angajatilor, introducem :

SELECT AVG(SAL)

FROM EMP;

AVG(SAL)

--------

2073.21429

Notati ca liniile din tabela EMP sint considerate ca un singur grup.

O functie de grup poate fi aplicata pe un subset de linii din tabela prin folosirea clauzei WHERE.

Pentru a gasi salariul minim cistigat de un functionar, introducem :

SELECT MIN(SAL)

FROM EMP

WHERE JOB = 'CLERK';

MIN(SAL)

--------

800



Pentru a numara angajatii din departamentul 20, introducem :

SELECT COUNT(*)

FROM EMP

WHERE DEPTNO = 20;

COUNT(*)

--------

5

Clauza GROUP BY

Clauza GROUP BY poate fi folosita pentru a imparti liniile dintr-o tabela in grupuri mai mici. Functiile de rup pot fi folosite pentru a intorece informatii sumare pentru fiecare grup.

Pentru a calcula salariul mediu pentru fiecare functie diferita, introducem:

SELECT JOB, AVG(SAL)

FROM EMP

GROUP BY JOB;

JOB AVG(SAL)

------- -----------

ANALYST 3000

CLERK 1037.5

MANAGER 2758.33333

PRESIDENT 5000

SALESMAN 1400

Excluderea liniilor cind folosim GROUP BY

Liniile pot fi excluse mai intii cu o clauza WHERE, inainte de a le imparti in grupuri.

Pentru a determina salariul mediu pentru fiecare functie in afara de manager, introducem :

SELECT JOB, AVG(SAL)

FROM EMP

WHERE JOB != 'MANAGER'

GROUP BY JOB;

JOB AVG(SAL)

------- -----------

ANALYST 3000

CLERK 1037.5

PRESIDENT 5000

SALESMAN 1400





Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 946
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved