Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Sql


Index » educatie » » informatica » Sql
» Interogari si Subinterogari


Interogari si Subinterogari


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

FROM angajat order by nume asc



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'

SELECT angajat.nume,angajat.prenume, angajat.salariu

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

Interogare 6: sa se afiseze numarul angajatilor din fiecare department

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)

   





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate