Professional Documents
Culture Documents
Rank/: Functii Pentru Ranking Si Windowing - de Pe E-Learning
Rank/: Functii Pentru Ranking Si Windowing - de Pe E-Learning
https://elearning.unitbv.ro/mod/page/view.php?id=23537
https://elearning.unitbv.ro/mod/page/view.php?id=23538
https://elearning.unitbv.ro/mod/page/view.php?id=23539
https://www.oracletutorial.com/oracle-analytic-functions/oracle-
rank/
EXEMPLU: NU
from employees
order by department_id;
EXERCITIU 1 : Salariile celor mai bine platiti salariati din fiecare dep (fiecare – partition by):
LAST_NAME,
D.DEPARTMENT_ID,
D.DEPARTMENT_NAME,
SALARY,
ON d.department_id=employees.department_id)
WHERE CEL_MAI_BINE_PLATIT_ANG=1;
EXERCITIU 2: TOP 3 ANGAJATI BINE PLATITI (cred ca din fiecare dep):
Ce am facut eu:
SELECT * FROM (SELECT
LAST_NAME,
D.DEPARTMENT_ID,
D.DEPARTMENT_NAME,
SALARY,
ON d.department_id=employees.department_id)
WHERE CEL_MAI_BINE_PLATIT_ANG<=3;
😊 EXERCITIU 3 : Angajatii cu salariu min pt fctia lor si nu sunt manager, president:
CE AM FACUT EU:
first_name,
last_name,
job_id,
salary,
from employees
where job_id not like ('%MAN') AND job_id not like ('%MGR') AND job_id not like ('%PRESIDENT'))
where sal_min_per_job=1;
😊 EXERCITIU 4 : SALARIUL MIN PT UN JOB DIN CADRUL UNUI DEP:
first_name,
last_name,
job_id,
department_id,
salary,
from employees)
where sal_min_per_job_si_dep=1;
EXERCITIU 5 - ULTIMII ANGAJATI (DIN FIECARE DEP CU PARTITION) SI GLOBAL(FARA PARTITION):
PAS1 :
PAS2 :
PAS3:
PAS4:
FROM(
SELECT DEPARTMENT_ID,
FROM EMPLOYEES))
select AnAng,
max(NrCrtPersAng) as maxim,
from (
from employees)
group by AnAng
) where nr=1;
select distinct to_char (hire_date, 'yyyy') as AnAng,
from employees
order by nr desc;
SELECT * FROM(
AN_ANG,
NR_ANGAJATI_PER_AN
FROM(
FROM employees)
WHERE NR_RAND=1;