Biologie | Chimie | Didactica | Fizica | Geografie | Informatica | |
Istorie | Literatura | Matematica | Psihologie |
Interogari si Subinterogari
Interogare 1: sa se afiseze data nasterii si salariul angajatului Popa Camelia
SELECT data_nasterii, salariu
FROM angajat
WHERE (nume = 'Popa') AND (prenume = 'Camelia')
Interogare 2: sa se afiseze numele, prenumele , data nasterii, salariul angajatilor in ordine alfabetica
SELECT nume,prenume,data_nasterii, salariu
Interogare 3 : sa se afiseze suma , media , max si minimul salariilor angajatilor din departamentul 1
SELECT sum(salariu) as SumaSalarii, avg(salariu) as MediaSalariilor , min(salariu) as SalariulMinim , max(Salariu) as SalariuMaxim from angajat where nr_departament=1
Interogare 4: sa se afiseze numele ,prenumele ,salariul angajatilor din departamentul 'proiectare'
FROM angajat,departament where angajat.nr_departament = departament.nr_departament and departament.denumire_departament='proiectare'
Sau
SELECT angajat.nume,angajat.prenume, angajat.salariu
FROM angajat inner join departament on(angajat.nr_departament = departament.nr_departament ) where departament.denumire_departament='proiectare'
Interogare 5: sa se afiseze numele departamentelor din Bucuresti in ordine alfabetica a numelui
Select departament.denumire_departament from departament inner join locatii on(departament.nr_departament = locatii.nr_departament) where localitate='Bucuresti' order by departament.denumire_departament asc
SELECT count(cnp)as NumarAngajati, departament.nr_departament from angajat,departament where angajat.nr_departament= departament.nr_departament group by departament.nr_departament
Interogare 7: sa se afiseze media , suma ,min si max salariilor si numarul de angajati pe fiecare department
SELECT nr_departament, sum(salariu) as SumaSalarii, avg(salariu) as MediaSalariilor , min(salariu) as SalariulMinim , max(Salariu) as SalariuMaxim ,Count(*) as NrAngajati from angajat group by nr_department
Interogare 8: sa se afiseze numele departamentelor,nr departamentulor care au mai mult de 1 angajat
SELECT departament.denumire_departament,departament.nr_departament from departament inner join angajat on (angajat.nr_departament = departament.nr_departament)
group by departament.nr_departament,departament.denumire_departament
having Count(cnp)>1
Subinterogare1: sa se afiseze numele si cnp angajatilor care lucreaza acelasi numar de ore la proiecte ca si 'Ionescu Dana'
select angajat.nume,angajat.prenume from
select angajat.nume,angajat.prenume from
angajat, angajati_proiecte where (angajat.cnp = angajati_proiecte.cnp) and
((angajati_proiecte.nr_ore) in
(select angajati_proiecte.nr_ore from
angajati_proiecte where angajati_proiecte.cnp in(select angajat.cnp from angajat where angajat.nume='Ionescu' and angajat.prenume ='Dana' ) )
)
and
(angajat.nume<>'Ionescu'and angajat.prenume<>'Dana')
Subinterogare2:sa se afiseze numele si cnp angajatilor al caror salariu este mai mare decat salariile angajatilor din departamentul 2
select a.nume,a.prenume,a.cnp from angajat a
where a.salariu > all(select salariu from angajat where nr_departament= 2)
Subinterogare3: pt fiecare departament care are mai mult de 1 angajati sa se afiseze numele departamentului si numarul angajatilor care au salariul mai mare de 4000000
SELECT departament.denumire_departament,count(cnp)as nr_angajati
from departament,angajat
where angajat.nr_departament = departament.nr_departament
and angajat.salariu>4000000
and (departament.nr_departament in
(select nr_departament from angajat
group by nr_departament
having count(*)>1
))
group by departament.denumire_department
Subinterogare 4: sa se afiseze numele angajatilor care sunt in acelasi departament cu Popa Camelia
Select a1.nume,a1.prenume from angajat a1 where a1.nr_departament in ( Select a2.nr_departament from angajat a2 where a2.nume='Popa' and a2.prenume = 'Camelia')
Subinterogare 5: sa se afiseze numele angajatilor care au salariul mai mare decat maximul salariilor angajatilor din departamentul 1
SELECT angajat.nume,angajat.salariu from angajat where angajat.salariu >
(select max(salariu) from angajat where nr_departament in
(select nr_departament from departament where denumire_departament= 'cercetare'))
Subinterogare 6: sa se afiseze numele tuturor angajatilor daca au lucrat la proiecte mai mult de 12 ore
Select nume+ ' ' +prenume as NumeAngajat from angajat where exists
(select * from angajati_proiecte where cnp=angajat.cnp and nr_ore>2)
Subinterogare 7: sa se afiseze toti angajatii care nu au lucrat la proiecte
select nume+ ' ' +prenume as NumeAngajat from angajat where not exists (select * from angajati_proiecte where angajat.cnp=angajati_proiecte.cnp)
Subinterogare 8: sa se afiseze toti angajatii care au lucrat la proiecte 12 ore
select nume+ ' ' +prenume as NumeAngajat from angajat where 12 in
(select nr_ore from angajati_proiecte,angajat where angajat.cnp=angajati_proiecte.cnp)
Copyright © 2024 - Toate drepturile rezervate