d.denumire_departament FROM angajati a, departamente d WHERE a.id_departament=d.id_departament;
--7. Sa se afiseze id_angajat, prenume, id_functie si salariul pentru angajatii
care nu lucreaza in departamentul IT_PROG si al caror salariu este mai mic decat oricare dintre salariile angajatilor care lucreaza in departamentul IT_PROG: SELECT id_angajat, prenume, id_functie, salariul FROM angajati WHERE salariul< ANY (select salariul from angajati where UPPER(id_functie)='IT_PROG') AND id_functie <>'IT_PROG'; --pentru semnul diferit este utiizat <>
--8. Sa se afiseze id_angajat, prenume, id_functie si salariul pentru angajatii
care nu lucreaza in departamentul IT_PROG si al caror salariu este mai mic decat fiecare dintre salariile angajatilor care lucreaza in departamentul IT_PROG: SELECT id_angajat, prenume, id_functie, salariul FROM angajati WHERE salariul < ALL (select salariul from angajati where id_functie ='IT_PROG') AND id_functie <>'IT_PROG';
--9. Sa se selecteze comenzile incheiate de angajati (in clauza WHERE se va
preciza conditia de legatura dintre tabele). SELECT c.* , a.* FROM comenzi c, angajati a where c.id_angajat=a.id_angajat;
--10. Sa se selecteze comenzile incheiate de angajatul Greene numai in luna
noiembrie. SELECT c.*, a.* FROM comenzi c, angajati a WHERE UPPER(a.nume) = 'GREENE' AND UPPER(c.data)='NOV' AND c.id_angajat=a.id_angajat;
--cand avem de verificat o data folosim date='NOV'etc..
--11. Sa se calculeze valoarea fiecarui produs (valoare = cantitate * pret) si sa
se afiseze denumirea produsului, pretul, cantitatea si valoarea. SELECT p.denumire_produs, r.pret, r.cantitate, r.pret*r.cantitate VAOARE FROM produse p, rand_comenzi r WHERE p.id_produs=r.id_produs;
--12. Sa se selecteze numai produsele cu valoarea cuprinsa intre 1000 si 2000
SELECT p.denumire_produs, r.pret, r.cantitate, r.pret*r.cantitate VAOARE FROM produse p, rand_comenzi r WHERE p.id_produs=r.id_produs AND r.pret*r.cantitate BETWEEN 1000 AND 2000;
--13. Sa se afiseze id-ul produsului, denumirea produsului si cantitatea chiar daca
nu au fost comandate SELECT p.id_produs, p.denumire_produs, r.cantitate, r.nr_comanda FROM produse p, rand_comenzi r where p.id_produs=r.id_produs(+) ORDER BY r.nr_comanda DESC;
--16. Sa se afiseze produsele care au pretul unitar cel mai mic:
SELECT p.denumire_produs, r.pret FROM produse p, rand_comenzi r WHERE p.id_produs=r.id_produs AND r.pret = (select MIN(r.pret )from rand_comenzi);