0% ont trouvé ce document utile (0 vote)
18 vues3 pages

Requêtes SQL pour gestion des employés

Le document contient 23 requêtes SQL avec des explications sur les tables EMP et DEPT. Les requêtes sélectionnent, trient, comptent et font des opérations statistiques sur les colonnes de ces tables.

Transféré par

Aimé Zahui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
18 vues3 pages

Requêtes SQL pour gestion des employés

Le document contient 23 requêtes SQL avec des explications sur les tables EMP et DEPT. Les requêtes sélectionnent, trient, comptent et font des opérations statistiques sur les colonnes de ces tables.

Transféré par

Aimé Zahui
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

AIME ZAHUI

TD : Requêtes SQL

Exprimer toutes les requêtes suivantes en langage SQ

1. Pour donner tous les tuples de DEPT

SELECT * FROM DEPT;

2. Pour afficher les deux premières lignes de DEPT (classées par dno croissant), puis les deux
suivantes

SELECT * FROM DEPT ORDER BY dno LIMIT 2 ;


SELECT * FROM DEPT ORDER BY dno LIMIT 2,2 ;

3. Pour donner les noms et les salaires des employés

SELECT enom, sal FROM EMP ;

4. Pour donner toutes les professions des employés (sans doublons)

SELECT DISTINCT prof FROM EMP;

5. Pour donner les dates d'embauche des techniciens

SELECT dateemb FROM EMP WHERE prof = 'technicien’ ;

6. Pour faire le produit cartésien entre EMP et DEPT

SELECT * FROM EMP, DEPT;

7- Donner les noms des employés et les noms de leur département

SELECT enom, dnom FROM EMP, DEPT WHERE [Link] = [Link];

8- Donner les numéros des employés travaillant à Boston

SELECT eno FROM EMP, DEPT WHERE [Link] = [Link] AND [Link] = 'Boston';

9- Donner les noms des directeurs des départements 1 et 3

SELECT enom FROM EMP, DEPT WHERE [Link] = [Link] AND [Link] IN (1,3);

10- Donner les noms des employés travaillant dans un département avec au moins un
ingénieur

SELECT DISTINCT [Link] FROM EMP, DEPT WHERE [Link] = [Link] AND [Link]
IN (SELECT dno FROM EMP WHERE prof = 'ingénieur');

1
AIME ZAHUI

11- Donner le salaire et le nom des employés gagnant plus qu'un (au moins un) ingénieur

SELECT enom, sal FROM EMP WHERE sal > ANY(SELECT sal FROM EMP WHERE prof =
'ingénieur');

12- Donner les noms des employés et les noms de leurs directeurs de département

SELECT [Link], [Link] FROM EMP, DEPT, EMP DIR WHERE [Link] = [Link] AND
[Link] = [Link];

13- Donner les noms, emplois et salaires des employés par emploi croissant, et pour chaque
emploi, par salaire décroissant

SELECT enom, prof, sal FROM EMP ORDER BY prof ASC, sal DESC;

14- Donner le salaire moyen des employés

SELECT AVG(sal) FROM EMP;

15- Donner le nombre d'employés du département Production

SELECT COUNT(*) FROM EMP, DEPT WHERE [Link] = [Link] AND [Link] =
'Production';

16- Donner les numéros de département et leur salaire maximum

SELECT dno, MAX(sal) FROM EMP GROUP BY dno;

17- Donner les professions et leur salaire moyen

SELECT prof, AVG(sal) FROM EMP GROUP BY prof;

18- Donner le salaire moyen de la profession qui a le salaire moyen le plus bas

SELECT AVG(sal) FROM EMP GROUP BY prof HAVING AVG(sal) = MIN(AVG(sal));

19- Donner les noms des départements de Boston qui ont plus de dix employés

SELECT [Link] FROM DEPT, EMP WHERE [Link] = 'Boston' AND [Link] = [Link]
GROUP BY [Link] HAVING COUNT(*) > 10;

20- Donner les noms des employés ayant le salaire maximum de chaque département

SELECT [Link], [Link] FROM EMP WHERE [Link] = (SELECT MAX(sal) FROM EMP
WHERE [Link] = dno);

21- Les noms des employés et leur salaire exprimé en pourcentage du salaire maximum

2
AIME ZAHUI

SELECT [Link], 100*[Link]/(SELECT MAX(sal) FROM EMP WHERE [Link] = dno)


FROM EMP;

22- Donner le nom des employés qui ne sont pas directeurs

SELECT ename, sal FROM EMP WHERE eno NOT IN (SELECT dir FROM DEPT);

23- Donner le salaire et le nom des employés gagnant moins que tous les ingénieurs

SELECT ename, sal FROM EMP WHERE sal < ALL(SELECT sal FROM EMP WHERE prof =
'ingenieur');

Vous aimerez peut-être aussi