Vous êtes sur la page 1sur 6

Exercice 1 : Donner le résultat requêtes suivantes :

1. SELECT * FROM Département CROSS JOIN Employés ;


Id -Dep Nom-Dep Id Nom Age Salaire Profession Dep
1 Info 1 Ismail 25 6000.00 Assistant 2
1 Info 2 Mohamed 30 8000.40 Directeur 1
1 Info 3 Fatima 29 6000.00 Directeur 3
1 Info 4 Dounia 30 7000.00 Assistant 4
1 Info 5 Omar 29 9000.00 Ingenieur 1
1 Info 7 Mostapha 29 9000.00 Ingenieur NUULL
2 RH 1 Ismail 25 6000.00 Assistant 2
2 RH 2 Mohamed 30 8000.40 Directeur 1
2 RH 3 Fatima 29 6000.00 Directeur 3
2 RH 4 Dounia 30 7000.00 Assistant 4
2 RH 5 Omar 29 9000.00 Ingenieur 1
2 RH 7 Mostapha 29 9000.00 Ingenieur NULL
3 Vente 1 Ismail 25 6000.00 Assistant 2
3 Vente 2 Mohamed 30 8000.40 Directeur 1
3 Vente 3 Fatima 29 6000.00 Directeur 3
3 Vente 4 Dounia 30 7000.00 Assistant 4
3 Vente 5 Omar 29 9000.00 Ingenieur 1
3 Vente 7 Mostapha 29 9000.00 Ingenieur NULL
4 Strategies 1 Ismail 25 6000.00 Assistant 2
4 Strategies 2 Mohamed 30 8000.40 Directeur 1
4 Strategies 3 Fatima 29 6000.00 Directeur 3
4 Strategies 4 Dounia 30 7000.00 Assistant 4
4 Strategies 5 Omar 29 9000.00 Ingenieur 1
4 Strategies 7 Mostapha 29 9000.00 Ingenieur NULL

2. SELECT count(Dep) FROM Employes ;


5

3. SELECT id, Nom, FROM Employes WHERE Salaire > 7000 AND age BETWEEN 25 AND 30 ;

Employes id Nom
2 Mohamed
5 Omar
7 Mostapha

4. SELECT * FROM Employes ORDER BY age DESC, Nom Asc ;

Employes id Nom age Salaire Profession Dep


4 Dounia 30 7000.00 Assistant 4
2 Mohamed 30 8000.40 Directeur 1
3 Fatima 29 6000.00 Directeur 3
7 Mostapha 29 9000.00 Ingenieur NULL
5 Omar 29 9000.00 Ingenieur 1
1 Ismail 25 6000.00 Assistant 2
5. SELECT D. Nom-Dep, AVG (E. Salaire) AS “Salaire moyen“ FROM Employes AS E IINNER JOIN
Département AS D
ON E. Dep=D.id-Dep ;
Groupe BY D. Nom-Dep ;
HAVING AVG (E. Salaire)>6000 ;

Nom-Dep Salaire moyen


Informatique 8500.2
strategies 7000.00

Exercice 2 : exprimer les requêtes suivantes par un arbre algébrique, en algèbre relationnelle et en
SQL :

1. Les noms des employés et les noms de leur département ;

SQL :

SELECT ENOM, DNOM FROM EMP INNER JOIN DEPT ON EMP.DNO = DEPT.DNO ;

ALGEBRE :

ΠENOM, DNOM ( EMP DEPT )

EMP.DNO=DEPT.DNO

ARBRE :

R1

ENOM, DNOM

EMP.DNO = DEPT.DNO

EMP DEPT
2. Les numéros des employés travaillant à BOSTON ;

SQL :

SELECT ENO FROM EMP INEER JOIN DEPT ON EMP.DNO = DEPT.DNO


WHERE VILLE = ‘ BOSTON ‘

ALGEBRE :

ΠENO (σ VILLE = ‘ BOSTON ‘ (EMP DEPT))


EMP.DNO = DEPT.DNO

ARBRE :

R2

ENO

R1
BOSTON
VILLE =

EMP.DNO=DEPT.DNO

EMP DEPET

3. Les noms des directeurs des départements 1 et 3 ;

SQL :

SELECT DIR FROM DEPT WHERE DNO = 1 OR DNO = 3 ;


ALGEBRE :

Π DIR (σ DNO = 1 ˅ DNO = 3 (DEPT))

ARBRE :
R1

DIR

R
DNO=3

DNO=1
˅

DEPT

4. Les noms des employés et les noms de leurs directeurs ;

SQL :

SELECT ENOM, DIR FROM EMP INNER JOIN DEPT ON EMP.DNO = DEPT.DNO ;

ALGEBRE :

Π ENOM, DIR (EMP DEPT );


ARBRE :

R1

ENOM, DIR
R

EMP.DNO=DEPT.DNO

EMP DEPT

5. Les départements qui n’ont pas d’employés ;

SQL :

SELECT DNOM FROM ((SELECT DNO FROM DEPT exept SELECT DNO FROM EMP) INNER JOIN
DEPT ON DNO = DEPT.DNO) ;

ALGEBRE :

Π DNOM ((π DNO (DEPT) – π DNO (EMP)) DEPT );


DNO = DEPT.DNO
ARBRE :

R4

DNOM

R3

DNO = DEPT.DNO
DNO DEPT
-
R1 R2

DNO DNO

EMP DEPT

Vous aimerez peut-être aussi