Vous êtes sur la page 1sur 2

A.

U : 2019-2020
Filière : ISIC
Semestre : II
Module : Système d’informations et base de données

TD5 (SQL)

EXERCICE 1
Sélection et projection

Considérons le schéma relationnel ci-dessous :

note

Exprimer en SQL :
1- La liste complète de tous les étudiants :
2- Les intitulés de tous les modules
3- Les modules dont le coefficient est supérieur à 1
4- La liste des modules dans un ordre décroissant par coefficient
5- Les élèves qui ont plus de 19 ans SELECT * FROME ELEVE WHERE date_de_naissance >'12/04/2001'
6- La liste des élèves ordonnée par l’âge
7- La liste de toutes les notes (sans doublons)
8- Les élèves qui ont le nom ‘alaoui’
9- Les notes comprises entre10 et 20

10- Les notes non nulles

EXERCICE 2
Gestion des ressources humaines

On considère que la structure des tables d’une base de données pour les ressources humaines
d’une entreprise est la suivante :
Employe (idEmp, nom, prenom, salaire, date_embauche, commission, #idPoste, #idDepartement
#idManager)
Poste (idPoste, intitule)
departement (idDepartement, nom_departement, localisation)

En raison de problèmes budgétaires, le département HR a besoin d'un état qui affiche le nom et le salaire
des employés qui gagnent plus de 12 000 DH. Ecrire l’instruction SQL de cette interrogation.
1. Le département RH a besoin de connaître les employés dont le salaire est élevé et ceux dont le
salaire est faible. Ecrire une requête afin d'afficher le nom et le salaire des employés dont le
salaire ne se situe pas dans la plage comprise entre 5 000 DH et 12 000 DH.

1
2. Ecrire la requête SQL permettant d'afficher le nom, l’intitulé de poste et la date d’embauche
des employés dont le nom est « Ait El Haj » ou « Brahimi ». Triez l'interrogation par ordre
croissant de date d’embauche.
3. Ecrire la requête SQL permettant d’afficher le nom et le nom du département de tous les
employés des départements 2 et 5, par ordre alphabétique croissant de nom.
4. Ecrire la requête SQL permettant d’afficher le nom et le salaire des employés qui gagnent entre
5 000 DH et 12 000 DH et qui travaillent dans le département 2 ou 5. Les colonnes doivent êtres
respectivement « Employé » et « Salaire mensuel ».
5. Le département RH a besoin d'un état qui affiche le nom et la date d'embauche de tous les
employés embauchés en 1994. Ecrire l’instruction SQL de cette interrogation.
6. Ecrire une requête SQL afin d'afficher le nom et l’intitulé de poste de tous les employés qui
n'ont pas de manager.
7. Ecrire une requête SQL afin d'afficher le nom, le salaire et la commission de tous les employés
qui perçoivent des commissions. Triez les données par ordre décroissant de salaire et de
commission.
8. Ecrire une requête SQL permettant d’afficher le nom de tous les employés dont la troisième
lettre du nom est un 'a'.
9. Ecrire une requête SQL permettant d’afficher le nom de tous les employés dont le nom comporte
à la fois un 'a' et un 'e'.
10. Ecrire une requête SQL permettant d’afficher le nom, l’intitulé de poste et le salaire de tous les
employés dont le poste est intitulé « commercial » ou « opérateur d’inventaire » et dont le salaire
n'est pas égal à 2 500 DH, 3 500 DH ou 7 000 DH.
11. Ecrire une requête SQL permettant d’afficher le nom, le salaire et la commission de tous les
employés dont le pourcentage de la commission est de 20 % du salaire.
12. 14. Ecrire une requête SQL permettant de déterminer le salaire le plus élevé, le salaire le plus
faible, la somme des salaires et le salaire moyen de tous les employés. Nommez les colonnes
respectivement « Maximum », « Minimum », « Somme » et « Moyenne ».
13. 15. Ecrire une requête SQL permettant d'afficher le salaire minimum, le salaire maximum, la
somme des salaires et le salaire moyen pour chaque type de poste.
14. Ecrire une interrogation SQL permettant d'afficher le nombre de personnes qui occupent le
même poste.

15. Ecrire une requête SQL pour déterminer le nombre de managers, sans les répertorier. Nommez
la colonne « Nombre manager ». Indication : Utilisez la colonne idManager pour déterminer le
nombre de managers.
16. Ecrire une requête SQL pour déterminer la différence entre le salaire le plus élevé et le salaire
le plus faible. Nommez la colonne « Différence ».
17. Ecrire une requête SQL pour afficher le numéro de manager et le salaire de l'employé le moins
payé de ce manager. Excluez toute personne dont le manager n'est pas connu. Excluez les
groupes dont le salaire minimum est inférieur ou égal à 6 000 DH. Triez la sortie par ordre
décroissant de salaire.
18. Ecrire une requête SQL pour créer une interrogation permettant d'afficher le nombre total
d'employés et, sur ce total, le nombre d'employés embauchés en 1995, 1996, 1997 et 1998. Créer
les en-têtes de colonne appropriés.

Vous aimerez peut-être aussi