Documente Academic
Documente Profesional
Documente Cultură
LIMBAJE RELAŢIONALE
PENTRU DEFINIREA ŞI
MANIPULAREA
DAT E L O R .
LIMBAJUL SQL
BUCUREŞTI
2021-2022
LIMBAJUL SQL-ORACLE
AGREGAREA DATELOR
2
LIMBAJUL SQL-ORACLE
AGREGAREA DATELOR
SELECT id_departament Departament,
COUNT(id_angajat) "NR.ANGAJATI"
FROM angajati
WHERE id_departament IS NOT NULL
GROUP BY id_departament
HAVING COUNT(id_angajat)>2;
DEPARTAMENT NR.ANGAJATI
----------- -----------
30 6
50 45
60 5
80 34
90 3
100 6
3
REZOLVAŢI!
4
REZOLVARE
SELECT *
FROM angajati
WHERE salariul>(SELECT AVG(salariul) FROM
angajati);
5
REZOLVAŢI!
6
REZOLVARE
7
LIMBAJUL SQL-ORACLE
AGREGAREA DATELOR
Operatori Descriere
8
Limbajul SQL-Oracle
Agregarea datelor
9
REZULTAT
11
REZULTAT
13
REZOLVARE
15
LIMBAJUL SQL-ORACLE
JONCŢIUNI
16
LIMBAJUL SQL-ORACLE
JONCŢIUNI
Oracle Standard SQL
Joncţiune externă completă
SELECT t1.a, t2.c SELECT t1.a, t2.c
FROM tabela1 t1, tabela2 t2 FROM tabela1 t1 FULL JOIN tabela2 t2
WHERE t1.b=t2.b (+) ON t1.b=t2.b;
UNION
SELECT t1.a, t2.c
FROM tabela1 t1, tabela2 t2
WHERE t1.b (+)=t2.b;
Joncţiunea tabelei cu ea însăşi
SELECT t1.a, t2.b SELECT t1.a, t2.b
FROM tabela1 t1, tabela1 t2 FROM tabela1 t1 JOIN tabela1 t2
WHERE t1.a=t2.b; ON t1.a=t2.b;
17
REZOLVAŢI!
18
REZOLVAŢI!
19
REZOLVAŢI!
Se consideră tabela:
produse (codp number(3), denp varchar2(25), um varchar2(3))
Comanda SQL-Oracle:
SELECT DISTINCT codp, denp FROM produse WHERE codp > 100 ORDER
BY denp;
implementează următorii operatori din algebra relaţională:
a) proiecţie şi joncţiune
b)selecţie şi intersecţie
c) selecţie şi reuniune
d)selecţie şi proiecţie
e) ordonare şi selecţie
20
REZOLVAŢI!
Fie relaţia:
Episoade (cod_episod, titlu_episod, nume_regizor,
nationalitate_regizor).
Care este prima FN încălcată:
a)FN1
b)FN2
c)FN3
d)BCNF
e)Nu încalcă nicio FN
21
REZOLVAŢI!
Fie relaţia:
Episoade_Seriale(cod_serial, cod_episod, cod_regizor).
Intr-un serial, episoadele pot fi regizate de persoane diferite.
Care este prima FN încălcată:
a)FN1
b)FN2
c)FN3
d)BCNF
e)Nu încalcă nicio FN
22
CURSUL 11...