Sunteți pe pagina 1din 6

Subiecte Atestat_Oracle

2013-2014

1. Tabela depart_1(nrdepart N2, numedepart C15, loc C20)


Tabela ang_1(numeang C15, functie C15, salariu N5, nrdepart N2)
depart_1
nrdepart numedepart loc
11
depart_1
Ploiesti
12
depart_2
Bucuresti
13
depart_3
Iasi
14
depart_4
Ploiesti
15
depart_5
Iasi
ang_1
numeang functie
salariu
nrdepart
nume_1
functie_1
1000
11
nume_2
functie_2
2000
12
nume_3
functie_3
1000
13
nume_4
functie_4
2000
14
nume_5
functie_5
1000
15
nume_6
functie_6
2000
11
nume_7
functie_7
2000
12
nume_8
functie_8
1000
13
nume_9
functie_9
2000
14
nume_10 functie_10
1000
15
a) INSERT INTO depart_1 VALUES(:nrdepart, :numedepart,:loc);
SELECT * FROM depart_1;
b) SELECT nrdepart, numedepart
FROM depart_1
WHERE UPPER(loc) IN (PLOIESTI, IASI);
c) SELECT d.numedepart AS Departament, d.loc AS Localitate, COUNT(a.numeang) AS
Numar angajati, AVG(a.salariu) AS Salariu mediu pe depart
FROM depart_1 d, ang_1 a
WHERE d.nrdepart=a.nrdepart
GROUP BY d.nrdepart, d.numedepart, d.loc;
2. Tabela carti_2 (autor C15, titlu C15, nr_imp N5, data_imp D)
autor
titlu
nr_imp
data_imp
autor_1
carte_11
2
25 octombrie 2008
autor_2
carte_21
3
20 ianuarie 2008
autor_3
carte_31
4
25 octombrie 2008
autor_4
carte_41
2
20 februarie 2008
autor_5
carte_51
3
20 martie 2008
autor_6
carte_61
4
25 octombrie 2008
autor_7
carte_71
3
20 aaprilie 2008
autor_8
carte_81
2
20 mai 2008
autor_1
carte_12
3
20 iunie 2008
autor_2
carte_22
2
25 octombrie 2008
autor_3
carte_32
2
20 iulie 2008
1

Subiecte Atestat_Oracle
a) SELECT autor, COUNT(titlu) AS Numar carti
FROM carti_2
GROUP BY autor;
b) SELECT COUNT(titlu) AS Numar carti imprumutate
FROM carti_2
WHERE data_imp=25-OCT-08;
c) SELECT autor, titlu
FROM carti
ORDER BY titlu;

2013-2014

3) tabela depart_3 (nrdepart N2, numedepart C15, loc C20)


tabela ang_3 (numeang C15, functie C15, salariu N5, comision N5, nrdepart N2)
depart_3
nrdepart numedepart loc
11
depart_1
Ploiesti
12
depart_2
Bucuresti
13
depart_3
Iasi
14
depart_4
Ploiesti
15
depart_5
Timisoara
ang_3
numeang functie
salariu comision
nrdepart
nume_1 functie_1
1000
10
11
nume_2 functie_2
2000
20
11
nume_3 functie_3
1000
30
12
nume_4 functie_4
2000
40
12
nume_5 functie_5
1000
50
13
nume_6 functie_1
2000
10
13
nume_7 functie_2
1000
20
14
nume_8 functie_3
2000
30
14
nume_9 functie_4
1000
40
15
nume_10 functie_5
2000
50
15
a) SELECT UPPER(numeang) AS Nume angajat, salariu
FROM ang_3
WHERE salariu>1500;
b) UPDATE ang_3 SET comision=70
WHERE nrdepart=12;
SELECT * FROM ang_3;
c) SELECT UPPER(a.numeang) AS Nume angajat, a.functie, d.loc AS Localitate
FROM depart_3 d, ang_3 a
WHERE d.nrdepart=a.nrdepart AND a.numeang=:nume;

Subiecte Atestat_Oracle

2013-2014

4
depart_4 (nrdepart N2, numedepart C15, loc C 20)
PK=nrdepart, localitate poate s fie numai Iai, Bucureti, Ploieti, Cluj
nrdepart (PK)
numedepart
loc
11
depart_1
Iasi
12
Bucuresti
depart_2
13
Ploiesti
depart_3
14
Cluj
depart_4
15
Iasi
depart_5
16
Bucuresti
depart_6
17
Ploiesti
depart_7
18
Cluj
depart_8
ang_4 (numeang c 15, funcie c 15, salariu n 5, comision n 5, nrdepart n 2)
numeang
functie
salariu
comision
nume_1
functie_1
1000
10
2000
20
nume_2
functie_2
3000
30
nume_3
functie_3
1500
10
nume_4
functie_4
2500
20
nume_5
functie_5
3500
30
nume_6
functie_6
1000
10
nume_7
functie_7
2000
20
nume_8
functie_8
3000
30
nume_9
functie_9
1500
10
nume_10
functie_10

Nrdepart (FK)
11
12
13
14
15
16
11
12
13
14

S se introduc n fiecare tabel cel puin 5 articole cu date. Toate numerele de departament trecute n prima
tabel se vor regsi n cea de a doua.
Se cere:
a. S se afieze localitatea n care exist un departament cu numr dat de utilizator dup vizualizarea
tabelei depart_4, ct i informaii despre toi angajaii din acest departament.
SELECT * FROM depart_4;
SELECT loc AS Departamentul este in
FROM depart_4
WHERE nrdepart=:nrdep;
SELECT numeang AS Angajatii dept:
FROM ang_4
WHERE nrdepart=:nrdep;

b. S se calculeze totalul veniturilor angajailor firmei. Se va lua n calcul i comisionul fiecrui angajat
(venit=salariu+comision).
SELECT SUM(salariu+NVL(commission,0) AS Venit total
FROM ang_4;

c. S se afieze persoanele cu aceeai funcie ca i prima persoana din tabela ang_4


SELECT numeang AS Angajati
FROM ang_4
WHERE functie= (SELECT functie FROM ang_4 WHERE rownum=1);

Subiecte Atestat_Oracle

2013-2014

5
depart_5 (nrdepart N2, numedepart C15, loc C 20)
PK=nrdepart, localitate poate s fie numai Iai, Bucureti, Ploieti, Cluj
nrdepart (PK)
numedepart
loc
11
depart_1
Iasi
12
Bucuresti
depart_2
13
Ploiesti
vanzari
14
Cluj
depart_4
15
Iasi
depart_5
16
Bucuresti
depart_6
17
Ploiesti
depart_7
18
Cluj
depart_8
ang_5 (numeang c 15, funcie c 15, salariu n 5, nrdepart n 2)
numeang
functie
salariu
nume_1
functie_1
1000
2000
nume_2
functie_2
3000
nume_3
functie_3
1500
nume_4
functie_4
2500
nume_5
functie_5
3500
nume_6
functie_6
1000
nume_7
functie_7
2000
nume_8
functie_8
3000
nume_9
functie_9
1500
nume_10
functie_10

nrdepart (FK)
11
12
13
14
15
16
11
12
13
14

S se introduc n fiecare tabel cel puin 5 articole cu date. Toate numerele de departament trecute n prima tabel se
vor regsi n cea de a doua
Se cere:
a. S se afieze salariu minim al angajailor departamentului VANZARI
b. S se afieze angajaii i venitul total al acestora ordonai alfabetic dup departament.
c. Calculai valoarea total a veniturilor pentru fiecare localitate unde exist angajai ai firmei
d. S se afieze numele, salariu i funcia tuturor angajailor n ordinea alfabetic a funciei i s se determine salariu
mediu pentru fiecare funcie existent.
a)
SELECT MIN(salariu) AS Salariul minim
FROM ang_5
WHERE nrdepart IN
(SELECT nrdepart FROM depart_5 WHERE numedepart=VANZARI);
b)
SELECT d..numedepart, a.numeang AS Anagajat, salariu AS Venit
FROM ang_5 a, depart_5 d
WHERE a.nrdepart=d.nrdepart
ORDER BY d.nrdepart;
SELECT SUM(salariu) AS VENIT
FROM ang_5;
c)
SELECT d.loc AS Localitate, SUM (a.salariu) AS Venit total pe localitate
FROM ang_5 a, depart_5 d
WHERE a.nrdepart=d.nrdepart
GROUP BY loc;
d)
SELECT numeang, salariu, functie
FROM ang_5
ORDER BY functie;
4

Subiecte Atestat_Oracle

2013-2014

SELECT functie, AVERAGE(salariu) AS Salariu mediu pe functie


FROM ang_5
GROUP BY functie;
6
pacienti_6 (nume_medic, nume_pacient, diagnostic, data_consultului), i s se introduc cel puin 8 articole. Un
articol reprezint un pacient dintr-o policlinic (un consult - un articol).
nume_medic
nume_pacient
diagnostic
data_consult
Popescu
pacient1_Popescu
rubeola
azi
Ionescu
pacient1_Ionescu
rubeola
ieri
Georgescu
pacient1_Georgescu
gripa
azi
Popescu
pacient2_Popescu
gripa
azi
Ionescu
pacient2_Ionescu
pojar
ieri
Georgescu
pacient2_Georgescu
pojar
azi
Popescu
pacient3_Popescu
rubeola
ieri
Ionescu
pacient3_Ionescu
rubeola
ieri
Cerine:
a. S se afieze numrul pacienilor consultai n luna curent de ctre medicul Popescu;
b. S se afieze diagnosticul cel mai frecvent ntlnit.
c. S se afieze coninutul tabelei n ordine alfabetic dup numele medicilor.
a)
SELECT COUT(nume_pacient) AS Numar pacienti
FROM pacienti_6
WHERE nume_medic=Popescu AND
TO_CHAR(data_consultului, mm) = TO_CHAR(SYSDATE,mm)
b)
SELECT diagnostic
FROM pacienti_6
GROUP BY diagnostic
HAVING COUNT(nume_pacient) =
(SELECT MAX (COUNT (nume_pacient))
FROM pacienti
GROUP BY diagnostic);
c)
SELECT * FROM pacienti_6 ORDER BY nume_medic;

Subiecte Atestat_Oracle

2013-2014

7
pacienti_7 (nume_medic, nume_pacient, diagnostic, data_consultului), i s se introduc cel puin 8 articole. Un
articol reprezint un pacient dintr-o policlinic (un consult - un articol).
nume_medic
nume_pacient
diagnostic
data_consult
Popescu
pacient1_Popescu
rubeola
azi
Ionescu
pacient1_Ionescu
rubeola
ieri
Georgescu
pacient1_Georgescu
gripa
azi
Popescu
pacient2_Popescu
gripa
azi
Ionescu
pacient2_Ionescu
pojar
ieri
Georgescu
pacient2_Georgescu
pojar
azi
Popescu
pacient3_Popescu
rubeola
ieri
Ionescu
pacient3_Ionescu
rubeola
ieri
a. S se afieze numele tuturor pacienilor medicului m, cu m citit de la tastatur.
b. S se nlocuiasc n toat tabela numele medicului "Popescu" cu "Vasilescu" i s se afieze coninutul tabelei dup
nlocuire.
c. S se afieze n ordine alfabetic numele tuturor pacienilor consultai la data d (cu d citit de la tastatur)
mpreun cu diagnosticele lor.
a)
SELECT nume_pacient
FROM pacienti_7
WHERE TRIM(nume_medic)=:m;
b)
UPDATE pacienti_7
SET nume_medic=Vasilescu
WHERE nume_medic=Popescu
-----------------SELECT * FROM pacienti_7
c)
SELECT nume_pacient, diagnostic
FROM pacienti_7
WHERE data_consultului=:d
ORDER BY nume_pacient;

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

  • Anul I Sem I.1
    Anul I Sem I.1
    Document1 pagină
    Anul I Sem I.1
    Freezy Frizzle
    Încă nu există evaluări
  • 2 10 Varianta
    2 10 Varianta
    Document3 pagini
    2 10 Varianta
    Muffin175
    Încă nu există evaluări
  • 2 10 Varianta
    2 10 Varianta
    Document3 pagini
    2 10 Varianta
    Muffin175
    Încă nu există evaluări
  • Poluanti Primari Si Secundari
    Poluanti Primari Si Secundari
    Document5 pagini
    Poluanti Primari Si Secundari
    Muffin175
    Încă nu există evaluări
  • Moro Mete
    Moro Mete
    Document1 pagină
    Moro Mete
    Muffin175
    Încă nu există evaluări
  • Boghiuri
    Boghiuri
    Document2 pagini
    Boghiuri
    Muffin175
    Încă nu există evaluări
  • 91 Algoritmi C L2
    91 Algoritmi C L2
    Document3 pagini
    91 Algoritmi C L2
    Muffin175
    Încă nu există evaluări
  • Biologie - Caiet Clasa A 10-A
    Biologie - Caiet Clasa A 10-A
    Document9 pagini
    Biologie - Caiet Clasa A 10-A
    adriana_simona1
    85% (13)
  • Pictogramele (Icon-Urile)
    Pictogramele (Icon-Urile)
    Document2 pagini
    Pictogramele (Icon-Urile)
    Muffin175
    Încă nu există evaluări
  • Moara Cu Noroc
    Moara Cu Noroc
    Document7 pagini
    Moara Cu Noroc
    Muffin175
    Încă nu există evaluări
  • Pastele in Lume
    Pastele in Lume
    Document6 pagini
    Pastele in Lume
    Muffin175
    Încă nu există evaluări
  • Mediul de Savana
    Mediul de Savana
    Document1 pagină
    Mediul de Savana
    Nicu Popovici
    Încă nu există evaluări
  • Pastele in Lume
    Pastele in Lume
    Document6 pagini
    Pastele in Lume
    Muffin175
    Încă nu există evaluări
  • Da Vinci
    Da Vinci
    Document5 pagini
    Da Vinci
    Muffin175
    Încă nu există evaluări
  • Proiect Chimie
    Proiect Chimie
    Document12 pagini
    Proiect Chimie
    Muffin175
    Încă nu există evaluări
  • Flori de Mucigai
     Flori de Mucigai
    Document3 pagini
    Flori de Mucigai
    Muffin175
    100% (1)
  • Moara Cu Noroc
    Moara Cu Noroc
    Document3 pagini
    Moara Cu Noroc
    Miculescu Kathy
    Încă nu există evaluări
  • De la Everand
    Încă nu există evaluări
  • De la Everand
    Încă nu există evaluări