Sunteți pe pagina 1din 2

Angajati,departamente 1.

Sa se creeze urmatoarele tabele : a) create table angajati (cod numeric primary key, nume varchar(20), prenume varchar(20), data_nasterii date, adresa varchar(50), functie varchar(20), salariu numeric, d_id numeric); b) create table departamente (d_id numeric, nume varchar(20)); 2. Sa se introduca un nou departament. insert into departamente values (5, 'conducere'); 3. Sa se modifice adresa clientului cu un anumit cod. update angajati set adresa = 'Bucuresti' where cod = 103; 4. Sa se majoreze cu 10% salariul angajatilor dintr-un departament. a) update angajati set salariu = salariu * 1.1 where d_id = (select d_id from departamente where nume = 'curatenie'); b) update angajati inner join departamente on angajati.d_id = departamente.d_id set salariu = salariu*1.1 where departamente.nume = 'productie'; 5. Sa se stearga 2 angajati. delete from angajati where nume in ('anghelescu', 'petrescu'); 6. Sa se afiseze angajatii mai tineri decat un alt angajat. select nume, prenume, data_nasterii from angajati where data_nasterii > (select data_nasterii from angajati where nume = 'Ionescu' and prenume = 'Ion'); 7. Sa se afiseze toti angajatii al caror salariu este mai mic decat maximul existent. select nume,prenume, salariu from angajati where salariu < (select max(salariu) from angajati); 8. Sa se afiseze informatiile despre angajatii dintr-un departament. select * from angajati where d_id = (select d_id from departamente where departamente.nume = "contabilitate"); 9. Sa se afiseze angajatii al caror salariu este egal cu unul din salariile angajatiilor din alt departament.

select * from angajati where salariu = (select salariu from angajati where d_id = 3); 10. Sa se afiseze angajatii care nu s-au nascut in aceleasi luni cu angajatii dintr-un anumit departament. select * from angajati where month(data_nasterii) not in (select month(data_nasterii) from angajati where d_id = 2); 11. Sa se afiseze toti angajatii care au un salariu mai mare decat cel putin al unui angajat dintr-un anumit departament. select * from angajati where salariu > any (select salariu from angajati where d_id = 4); 12. Sa se afiseze angajatii care sunt mai tineri decat toti angajatii unui departament. select * from angajati where data_nasterii > all (select data_nasterii from angajati where d_id = 1); 13. Sa se afiseze d_id in care lucreaza angajatii cu salarii mai mari decat angajatii care sau nascut intr-o anumita perioada. select d_id from angajati where salariu > (select salariu from angajati where data_nasterii between #02/02/1982# and #04/04/1984#);

S-ar putea să vă placă și