Studiu de caz: Interogarea bazei de date EMP (Angajați)
Tabela EMP conține datele resurselor umane ale unei organizații. Cunoașterea structurii este precondiția formulării corecte a interogărilor.
| Nume Coloană | Semnificație | Tip de date (Exemplu) |
|---|---|---|
| EMPNO | ID-ul unic al angajatului | Numeric (7369) |
| ENAME | Numele angajatului | Text ('SMITH') |
| JOB | Funcția ocupată | Text ('CLERK') |
| MGR | ID-ul managerului direct | Numeric (7902) |
| HIREDATE | Data angajării | Date/Time |
| SAL | Salariul de bază | Numeric (800) |
| COMM | Comisionul (dacă se aplică) | Numeric (300) |
| DEPTNO | ID-ul departamentului | Numeric (20) |
Instrucțiunea SELECT specifică coloanele ce urmează a fi returnate, iar FROM indică sursa datelor (tabela). Caracterul asterisc (*) se utilizează pentru a selecta toate coloanele disponibile.
Extrageți numărul de identificare (EMPNO), numele (ENAME) și departamentul (DEPTNO) pentru toți angajații.
Creați o interogare care să afișeze doar numele (ENAME) și salariul (SAL) întregului personal.
Clauza WHERE filtrează înregistrările pe baza unor condiții logice. Se folosesc operatori relaționali (=, <, >, <=, >=, <>) și logici (AND, OR, NOT). Atenție: În MS Access, șirurile de caractere se încadrează în ghilimele simple sau duble.
Afișează numele și salariul angajaților care au un salariu strict mai mare de 2500.
Afișează detaliile complete (toate coloanele) pentru angajații care ocupă funcția de 'MANAGER'.
Afișează numele, funcția și salariul angajaților care lucrează în departamentul 20 și au un salariu mai mare de 1000.
Seturile de date pot fi sortate crescător (ASC, valoarea implicită) sau descrescător (DESC) folosind ORDER BY. Această clauză se plasează întotdeauna la finalul interogării.
Afișați lista tuturor angajaților, ordonată alfabetic după nume (ENAME).
Afișați numele, funcția și salariul, ordonând rezultatele mai întâi după funcție (JOB) crescător, iar apoi, în cadrul fiecărei funcții, după salariu (SAL) descrescător.
Funcțiile de agregare permit procesarea unor seturi de rânduri pentru a returna o singură valoare. Cele mai utilizate sunt: SUM (suma), AVG (media), COUNT (numărarea), MAX (maximul) și MIN (minimul). Prin intermediul cuvântului cheie AS putem crea aliasuri pentru coloanele calculate.
Determinați valoarea celui mai mare salariu și a celui mai mic salariu din companie.
Calculați salariul mediu la nivelul întregii companii. Denumiți coloana "Salariu_Mediu".
Aflați numărul total de angajați care au funcția de 'SALESMAN'. (Atenție: necesită combinarea agregării cu filtrarea datelor).
Pentru a aplica funcții de agregare pe subgrupuri de date (de exemplu: salariul mediu per departament), se utilizează clauza GROUP BY. Coloana după care se face gruparea trebuie să fie prezentă în clauza SELECT alături de funcția de agregare.
Determinați salariul mediu calculat pentru fiecare departament în parte (DEPTNO).
Aflați numărul de angajați repartizați pe fiecare tip de funcție (JOB).
Calculați fondul total de salarii (suma salariilor) pentru fiecare departament și ordonați rezultatul descrescător după suma obținută.