Sei sulla pagina 1di 15

Atestat Oracle rezolvari

I. Facultati
1. SELECT sum(nrstud) FROM facultati
WHERE localitate=:l;

2. SELECT denumire, nrstud FROM facultati


WHERE localitate='Cluj';

3. SELECT denumire FROM facultati


WHERE localitate='Cluj' and nrstud=(SELECT min(nrstudb) FROM facultati
WHERE localitate='Cluj');

4. SELECT denumire, localitate, an_inf FROM facultati


WHERE an_inf=(SELECT min(an_inf) FROM facultati);

5. SELECT nrstud, nrsudb, nrstud-nrstudb as nebursieri FROM facultati


WHERE denumire='Medicina' and localitate='Cluj';

6. SELECT localitate, denumire, nrspec FROM facultati


ORDER BY localitate;

7. SELECT denumire, an_inf FROM facultati


ORDER BY an_inf, denumire;

8. SELECT min(nrstud) FROM facultati


WHERE localitate='Bucuresti' or localitate='Timisoara';

9. SELECT distinct localitate FROM facultati;

10. SELECT denumire, nrstud FROM facultati


ORDER BY nrstud DESC;

11. SELECT denumire, nrstud FROM facultati


ORDER BY nrstud, denumire;

12. SELECT count(denumire) FROM facultati


WHERE an_inf=:a;
II. Elevi
1. CREATE table elevi1 as SELECT * FROM elevi
ORDER BY nume, prenume;

2. SELECT * FROM elevi


ORDER BY clasa, (nrabs - motivate) DESC;

3. SELECT nume, prenume, motivate FROM elevi


WHERE nume=:l and prenume=:m;

4. SELECT * FROM elevi


ORDER BY clasa, nume;

5. SELECT * FROM elevi


ORDER BY nrabs - motivate, nume;

6. SELECT * FROM elevi


WHERE nrabs - motivate>10;

7. CREATE table elevi2 as SELECT * FROM elevi


ORDER BY clasa, nume, prenume;

8. UPDATE elevi SET mpurtare=9


WHERE nrabs-motivate between 10 and 19

9. CREATE table elevi3 as SELECT * FROM elevi


ORDER BY nrabs;

10. SELECT * FROM elevi


WHERE nrabs between :x and :y;

11. SELECT * FROM elevi


ORDER BY mpurtare DESC;

12. CREATE table elevi4 as SELECT * FROM elevi


ORDER BY clasa, nrabs-motivate;

13. UPDATE elevi SET mpurtare=8


WHERE nrabs-motivate between 20 and 29;

14. SELECT * FROM elevi


WHERE nrabs-motivate>30;

15. UPDATE elevi SET mpurtare=10


WHERE nrabs-motivate<10;

16. SELECT * FROM elevi


ORDER BY mpurtare, nume;

III. Angajati
1. SELECT salariu, functie, department FROM anagajati1
WHERE nume=:n and prenume=:p;

2. SELECT nume, prenume, salariu FROM anagajati1


WHERE salariu=(SELECT max(salariu) FROM angajati1);

3. SELECT nume, prenume, salariu FROM anagajati1


WHERE salariu=(SELECT min(salariu) FROM angajati1);

4. SELECT count(departament) FROM angajati1


WHERE departament='Contabilitate';

5. SELECT avg(salariu) as "Salariu Mediu" FROM angajati1


WHERE departament='Financiar';

6. SELECT prenume FROM angajati1


ORDER BY departament, dataang DESC;

7. SELECT nume, prenume, nrcopii FROM anagajati1


WHERE nrcopii=0
ORDER BY nume, prenume;

8. SELECT count(departament) FROM angajati1


WHERE departament=:l;

9. SELECT nume, prenume, department FROM angajati1


WHERE to_char(datanast,'mm')='02';

10. SELECT nume, prenume, nrcopii FROM angajati1


WHERE departament=:l and nrcopii=0;

11. SELECT nume, prenume, departament, salariu FROM angajati1


ORDER BY departament, salariu DESC;
12. SELECT count(nume) FROM angajati1
WHERE departament='Financiar' and to_char(dataang,'rrrr')=to_char(sysdate-365,'rrrr');

13. UPDATE angajati1 SET salariu=salariu+1/10*salariu


WHERE departament='Financiar';

14. SELECT nume, prenume, datanast FROM angajati1


WHERE datanast=(SELECT min(datanast) FROM angajati1);

15.SELECT nume, prenume, trunc((sysdate-datanast)/365) as varsta FROM angajati;

16. SELECT nume, prenume FROM angajati


GROUP BY departament
ORDER BY salary DESC;

17. SELECT nume, prenume FROM angajati


WHERE nrcopii=(SELECT max(nrcopii) FROM angajati);

18. SELECT max(salary) FROM angajati


WHERE department=:d;

19. SELECT count(nume) FROM angajati


WHERE to_char(dataang,’mm’)=’03’;

20. SELECT nume, prenume, datanast FROM angajati


WHERE department=(SELECT max(datanast) FROM angajati);

21. SELECT avg(trunk((sysdate-datanast)/365)) FROM angajati


WHERE department=:l;

IV. Studenti
1. SELECT facultate, nume FROM studenti
ORDER BY facultate, nume;

2. SELECT facultate, nume, prenume, media FROM sudenti


WHERE nume=:m and prenume=:n;

3. SELECT count(nume) FROM studenti


WHERE (an=2) and (facultate='medicina') and (localitate='Cluj');

4. SELECT count(nume) FROM studenti


WHERE (bursier='t') and (facultate=:f);

5. SELECT nume, prenume FROM studenti


WHERE (an=3) and (medie=(SELECT max(medie) FROM studenti));

6.SELECT count(nume) FROM studenti


WHERE bursier='t' and localitate='Timisoara';

7.SELECT nume, prenume FROM studenti


ORDER BY facultate, medie DESC;

8. SELECT count(nume) FROM studenti


WHERE medie between(:x and :y);

9.SELECT nume, trunc((sysdate-datanas)/365) FROM studenti


WHERE localitate='Bucuresti';

10. SELECT count(facultati) FROM studenti


WHERE nume=:n and prenume=:m;

11. SELECT count(nume) FROM studenti


WHERE localitate=:l;

12. DELETE FROM student


WHERE an=6 and facultate='Medicina';

13. UPDATE student SET an=an+1


WHERE an<>6;

14. SELECT nume, prenume FROM studenti


ORDER BY datanas DESC, nume;

15. SELECT nume, prenume, facultate, medie FROM studenti


WHERE facultate=(SELECT facultate FROM studenti
WHERE nume=:n and prenume=:m)
and an=(SELECT an FROM studenti
WHERE nume=:n and prenume=:m)
and medie<(SELECT medie FROM studenti
WHERE nume=:n and prenume=:m);

16. SELECT count(facultate) FROM studenti


WHERE localitate='Bucuresti';
17. SELECT avg(trunc(sysdate-datanas)/365) FROM studenti
WHERE bursier='t';

18. SELECT nume, prenume FROM studenti


WHERE medie between :x and :y;

19. SELECT count (bursier) FROM studenti


WHERE bursier='t' and an=:a;

20. SELECT * FROM studenti


ORDER BY medie DESC, nume;

21. SELECT localitate, facultate FROM studenti


WHERE localitate=:l
ORDER BY facultate;

V. Produse

1. SELECT denumire FROM produse


WHERE calitate=1 and pret>:p;

2. SELECT pret, denumire FROM produse


WHERE pret=(SELECT max(pret) FROM produse);

3. SELECT avg(pret) FROM produse


WHERE condspec='t';

4. SELECT denumire, categorie FROM produse


ORDER BY categorie;

5. SELECT denumire, stoc FROM produse


WHERE stoc<:x;

6. UPDATE produse SET pret= pret+ pret/10


WHERE calitate=1;

7. SELECT denumire, pret, categorie FROM produse


ORDER BY pret DESC;

8. DELETE FROM produse


WHERE calitate=3;

9. SELECT count(denumire) FROM produse


WHERE categorie=:c and condspec='f';

10. SELECT denumire FROM produse


WHERE stoc=(SELECT max(stoc) FROM produse);

11. SELECT denumire, prêt FROM produse


ORDER BY pret DESC, denumire;

12. SELECT avg(pret) FROM produse


WHERE calitate=1 and stoc>1000;

13. SELECT denumire FROM produse


WHERE denumire like 'A%';

14. UPDATE produse SET calitate=3


WHERE calitate=1 and condspec='t';

15. SELECT pret, denumire, condspec FROM produse


WHERE pret=(SELECT min(pret) FROM produse
WHERE condspec='f');
VI. Admitere
1. UPDATE admitere SET med= (n1+n2+n3)/3

2. SELECT nume, med FROM admitere


WHERE med=(SELECT max(med) FROM admitere);

3. SELECT nume, med FROM admitere


WHERE clasa=:c and med>8;

4. DELETE FROM admitere


WHERE med<5;

5. SELECT clasa, nume FROM admitere


ORDER BY clasa, med;

6. SELECT nume, med FROM admitere


WHERE med>9 and med<10;

7. SELECT nume, clasa FROM admitere


WHERE med<(SELECT med FROM admitere
WHERE nume=:n and clasa=:c)

8. SELECT nume, med FROM admitere


WHERE clasa=:c and med between 5 and 6

9. SELECT nume, clasa FROM admitere


WHERE med>5

10. SELECT sum(abs) FROM admitere


WHERE clasa=:c

11. DELETE FROM admitere


WHERE n1=0 or n2=0 or n3=0

12. SELECT nume, clasa FROM admitere


ORDER BY clasa, abs DESC

VII. Biblioteca
1. SELECT autor, titlu FROM carti
WHERE titlu like '%l%'

2. SELECT titlu FROM carti


WHERE editura=:e and an=:a
ORDER BY autor, titlu;

3. SELECT titlu FROM carti


WHERE editura=:d
ORDER BY anap

4. SELECT count(titlu) FROM carti


WHERE editura='Donaris' and domeniu=:d

5. SELECT autor, titlu FROM carti


WHERE autor=:a and anap=:b;

6. SELECT count(titlu) FROM carti


WHERE domeniu=:d and an>1995;

7. SELECT titlu FROM carti


WHERE editura='Donaris' and anap=(SELECT max(anap) FROM carti)
8. SELECT count(titlu) FROM carti
WHERE editura=:d and anap>1995

9. SELECT titlu, autor FROM carti


ORDER BY autor, titlu

VIII. Informatii elevi

1. SELECT nume, varsta FROM elevi


ORDER BY varsta DESC, nume;

2. SELECT varsta, adresa FROM elevi


WHERE nume=:n;

3. SELECT count(nume) FROM elevi


WHERE varsta=18;

4. SELECT nume FROM elevi


WHERE adresa=’Deva’;

5. SELECT count(nume) FROM elevi


WHERE adresa=:a;

6. SELECT nume FROM elevi


WHERE varsta=(SELECT max(varsta) FROM elevi);

7. SELECT nume FROM elevi


WHERE varsta=(SELECT min(varsta) FROM elevi);

8. SELECT nume FROM elevi


WHERE nrmatr=:n;

9. SELECT nume FROM elevi


WHERE adresa=’Deva’
ORDER BY nume;

IX. Gestiune

1. SELECT dataang FROM gestiune


WHERE gestionar=:g;
2. SELECT nume, codraion FROM gestiune
WHERE codmagazin=:c;

3. SELECT gestionar, codraion, salariu FROM gestiune


WHERE codraion=30;

4. SELECT gestionar, salariu FROM gestiune


ORDER BY salariu DESC, gestionar;

5. SELECT gestionar FROM gestiune


WHERE codmagazin(SELECT min(codmagazin) FROM gestiune);

6. SELECT sum(salary) FROM gestiune


WHERE codraion=25;

7. SELECT gestionar FROM gestiune


WHERE dataang=to_date(:y);

8. SELECT gestionar FROM gestiune


WHERE to_char(dataang,'yyyy')=to_char(sysdate-365,'yyyy');

9.SELECT gestionar, salariu FROM gestiune


WHERE salariu=(SELECT max(salariu) FROM gestiune);

10. SELECT gestionar, dataang FROM gestiune


ORDER BY dataang, gestionar;

11. SELECT avg(salary) FROM gestiune


WHERE codraion=30;

12. SELECT gestionar, dataang, salariu FROM gestiune


WHERE salariu=(SELECT max(salariu) FROM gestiune)
and to_char(dataang,'yyyy')=to_char(sysdate-365,'yyyy');

X. Geografie

1. SELECT tara, capitala FROM geografie


WHERE tara='Romania';

2. SELECT tara, capitala FROM geografie


WHERE tara=:t;
3. SELECT continent, tara, locuitori FROM geografie
WHERE locuitori=(SELECT max(locuitori) FROM geografie)
or locuitori=(SELECT min(locuitori) FROM geografie);

4. SELECT tara, continent, capitala FROM geografie


WHERE suprafata=(SELECT max(suprafata) FROM geografie);

5. SELECT tara FROM geografie


ORDER BY continent;

6. SELECT tara FROM geografie


WHERE ROWNUM<=5
ORDER BY suprafata, locuitori DESC;

7. SELECT tara FROM geografie


WHERE ROWNUM<=5
ORDER BY suprafata, locuitori;

8. SELECT sum(suprafata) FROM geografie


WHERE continent=:l;

9. SELECT suprafata FROM geografie


WHERE tara=:t;

XI. Carti

1. SELECT * FROM carti


ORDER BY nume, prenume;

2. SELECT nume, prenume FROM carti


WHERE (data_restituire-data_inchiriere)>30;

3. SELECT nume, prenume FROM carti


ORDER BY clasa DESC, varsta;

4. SELECT nume, prenume FROM carti


WHERE nrcarti=:n;

5. SELECT nume, prenume FROM carti


WHERE (data_restituire<sysdate) and (restituit='f');
6. SELECT* FROM carti
ORDER BY data_restituire;

7. SELECT nume, prenume FROM carti


ORDER BY clasa, nume, prenume;

8. SELECT sum(nrcarti) FROM carti


WHERE nume=:n and prenume=:p;

9.SELECT max(nrcarti) FROM carti;

XII. Muzica
1. CREATE table muzica1 as SELECT * FROM muzica
ORDER BY interpret;

2. SELECT * FROM muzica


ORDER BY suport;

3. SELECT * FROM muzica


WHERE interpret=:i;

4. CREATE table muzica2 as SELECT * FROM muzica


ORDER BY interpret, numealbum;

5. SELECT * FROM muzica


ORDER BY suport, anaparitie;

6. SELECT * FROM muzica


WHERE interpret=:i;

7. CREATE table muzica3 as SELECT * FROM muzica


ORDER BY suport;

8. SELECT * FROM muzica


WHERE duratamin between :x and :y;

9. SELECT * FROM muzica


WHERE numealbum=:n;

10. CREATE table muzica 4 as SELECT * FROM muzica


ORDER BY duratamin;
11. SELECT count(numealbum) FROM muzica
WHERE suport=:x;

12. SELECT * FROM muzica


WHERE anaparitie between :x and :y;

13. SELECT count(numealbum) FROM muzica


WHERE interpret=:x;

14. CREATE table muzica5 as SELECT * FROM muzica


ORDER BY casadedisc;

15. SELECT * FROM muzica


ORDER BY suport;

16. SELECT count(numealbum) FROM muzica


WHERE cadadedisc=:c;

XIII. Servicii
1. UPDATE servicii SET valoare=valoare + 1/10*valoare;

2. SELECT sum(valoare) FROM servicii


WHERE client=:c;

3. SELECT * FROM servicii


ORDER BY agentie, datasol;

4. SELECT denumire FROM servicii


WHERE client=:c and to_char(datasol,'yyyy')=to_char(sysdate,'yyyy');

5. SELECT denumire FROM servicii


WHERE datasol=sysdate
ORDER BY valoare DESC;

6. SELECT denumire FROM servicii


WHERE valoare=(SELECT max(valoare) FROM servicii);

7. SELECT avg(valoare) FROM servicii


WHERE agentie=:m;

8. SELECT * FROM servicii


ORDER BY client, valoare DESC;

9. SELECT count(denumire) FROM servicii


WHERE denumire=:n;

XIV. Comenzi
1. SELECT sum(nrart) FROM comenzi
WHERE client=:c;

2. SELECT client, denart FROM comenzi


WHERE articol=:a and nrart>:b;

3. SELECT client FROM comenzi


WHERE platit='f';

4. SELECT * FROM comenzi


WHERE pretunit=(SELECT max(pretun) FROM comenzi);

5. SELECT * FROM comenzi


ORDER BY clienti, datacom;

6. SELECT * FROM comenzi


WHERE to_char(datacom,'yyyy')=to_char(sysdate,'yyyy');

7. SELECT denart, nrart*pretun FROM comenzi;

8.SELECT max(nrart) FROM comenzi;

9. SELECT * FROM comenzi


ORDER BY neart, nrart DESC;

10. SELECT count(datacom) FROM comenzi


WHERE client=:n and to-char(datacom,'yyyy')=to_char(sysdate,'yyyy');

11. SELECT count(client) FROM comenzi


WHERE datacom= to_date(:d,'dd-mm-yyyy');

12. SELECT * FROM comenzi


WHERE datacom=sysdate;

XV. Concedii
1. SELECT sum(data_sf-data_in) FROM concedii
WHERE nume=:n and prenume=:p and tip='medical';

2. SELECT data_sf-data_in FROM concedii


WHERE data_sf-data_in=(SELECT max(data_sf-data_in) FROM concedii);

3. SELECT nume, prenume, data_in, data_sf, data_sf-data_in FROM concedii


WHERE departament=:d;

4. SELECT departament FROM concedii


WHERE nume=:n and prenume=:p;

5. SELECT * FROM concedii


ORDER BY nume, prenume, data_in;

6. SELECT nume, prenume FROM concedii


WHERE :data between data_in and data_sf;

7. SELECT nume, prenume FROM concedii


WHERE nume=:n and prenume=:p and data_sf>sysdate;

8. SELECT svg(data_sf-data_in) FROM concedii


WHERE tip='odihna';

9. SELECT * FROM concedii


ORDER BY data_sf DESC;

Potrebbero piacerti anche