Orar semigroup #2

Orar semigroup #2

16 noiembrie

select first_name, last_name,trunc(months_between(sysdate,hire_date)/12) "Ani de lucru" from employees

Fondul de salarii din fiecare departament dar doar pt angajatii mai vechi de 15 ani
select sum(salary) "Fond de salarii", department_name from employees e,departments d where e.department_id=d.department_id and trunc(months_between(sysdate,hire_date)/12)>15 group by department_name

Afiseaza doar departamentele in care lucraeza mai vechi de 15 ani cu fond de salarii de peste 15000
select sum(salary) "Fond de salarii", department_name from employees e,departments d where e.department_id=d.department_id and trunc(months_between(sysdate,hire_date)/12)>15 group by department_name having sum(salary)>15000

SELECT - coloane
FROM - tabele
WHERE - expresie logica
GROUP BY - coloan1, coloana 2
HAVING - expresie logica (conditie pe grupul definit)
ORDER - coloana1 (alias)

HAVING nu poate aparea fara GROUP BY


select sum(salary) "Fond de salarii", department_name from employees e,departments d where e.department_id=d.department_id and trunc(months_between(sysdate,hire_date)/12)>15 group by department_name having sum(salary)>=(select avg(salary) from employees)

select sum(salary) "Fond de salarii", department_name from employees e,departments d where e.department_id=d.department_id and trunc(months_between(sysdate,hire_date)/12)>1 group by department_name having count(*)>2

vineri, 16 noiembrie 2012 by DlMuresan
Categories: , | Leave a comment

Leave a Reply