Vous êtes sur la page 1sur 4

LYCEE TECHNIQUE IBN SINA A.

S :2023 /2024
KENITRA 1ere Année BTS-DSI

TD3/TP3 : SQL un langage d’interrogation des données


SGBDR utilisés : MY SQL

Soit la base de données Travail composée des deux tables


suivantes :

 emp (nom, num, fonction, n_sup, embauche, salaire, comm, #n_dept)

NOM NUM FONCTION N_SUP EMBAUCHE SALAIRE COMM N_DEPT

MARTIN 16712 directeur 25717 90-MAY-23 40000 30


DUPONT 17574 administratif 16712 95-MAY-03 9000 30
DUPOND 26691 commercial 27047 88-APR-04 25000 2500 20
LAMBERT 25012 administratif 27047 91-APR-14 12000 20
JOUBERT 25717 president 82-OCT-10 50000 30
LEBRETON 16034 commercial 27047 91-JUN-01 15000 20
MARTIN 17147 commercial 27047 93-DEC-10 20000 500 20
PAQUEL 27546 commercial 27047 83-SEP-03 22000 2000 20
LEFEBVRE 25935 commercial 27047 84-JAN-11 23500 1500 20
GARDARIN 15155 ingenieur 24533 85-MAR-15 24000 10
SIMON 26834 ingenieur 24533 88-OCT-02 20000 10
DELOBEL 16278 ingenieur 24533 94-NOV-16 21000 10
ADIBA 25067 ingenieur 24533 87-OCT-05 30000 10
CODD 24533 directeur 25717 75-SEP-12 55000 10
LAMERE 27047 directeur 25717 89-SEP-07 45000 20
BALIN 17232 administratif 24533 87-OCT-03 13500 10
BARA 24831 administratif 16712 88-SEP-10 15000 30

 dept(n_dept, nom,lieu)

N_DEPT NOM LIEU

10 recherche Rennes
20 vente Metz
30 direction Gif
40 fabrication Toulon
3.12. Quels sont les employés dont la commission a la valeur NULL?
3.1. Créer la base de données et les tables avec la contrainte
Primary key et Auto_increment sur les clés primaires et La
3.13. Quels sont les employés gagnant plus que SIMON?
contrainte foreign key sur la clé étrangère.
3.14. Quels sont les employés ayant la même fonction que CODD?
3.2. Insérer les valeurs spécifiées ci-dessus dans les deux tables.
3.3. 3.15.
Donner pour chaque commercial son nom et son revenu ( Quels sont les employés gagnant plus que tous les employés du
département 30 ?
salaire +commission).
3.16. Quels sont les employés ayant même fonction et même supérieur
3.4. Donner le salaire moyen des employés qui travaillent au
que CODD?
département de recherche.
3.17. Quels sont les employés travaillant dans un département qui a
3.5. Donner le nombre des fonctions dans la table employé procédé à des embauches depuis le début de l'année 94.
sans compter les valeurs dupliquées
3.18. Liste des employés du département 10 ayant même fonction que
3.6. Quels sont les employés dont la commission est DUPONT.
supérieure au Salaire?
3.19. Donnez la fonction des employés qui travaillent dans le
3.7. Quels sont les employés gagnant entre 20000 et 25000?département vente.
3.8. Quels sont les employés commerciaux ou ingénieurs?3.20. Donner la date d'embauche de chaque employé par l'année
3.9. Quels sont les employés dont le nom commence par M?seulement.
3.10. Quels sont les employés du département 30 ayant 3.21.
un Donner tous les employés classés par fonction, et pour chaque
salaire supérieur à 25000? fonction classés par salaire décroissant.
3.11. Quels sont les employés directeurs ou commerciaux et
travaillants dans le département 10?

B. ARISS 1/2 2023/2024


LYCEE TECHNIQUE IBN SINA A.S :2023 /2024
KENITRA 1ere Année BTS-DSI
Ci-après, on Donne la représentation textuelle simplifiée 3. La liste des noms des musiciens et les titres des
d’une base de données concernant un cycle de formation représentations auxquelles ils participent.
destiné à des étudiants. Il regroupe un ensemble de SELECT M . nom , R .
matières. On considère que chaque enseignant n’enseigne titre FROM Musicien M
qu’une seule matière et qu’à la fin du cycle de formation, INNER JOIN
une note par matière, est attribuée à chaque étudiant. Representation R ON R .
D’autre par, les étudiants peuvent ne pas suivre les mêmes Num_rep = M . Num_rep
matières.

4. La liste des titres des représentations, les lieux et les


— ETUDIANT (CodeEt, NomEt, DatnEt) tarifs du 25/07/2008.
— MATIERE (CodeMat, NomMat, CoefMat) SELECT R . titre , R . lieu , P .
— ENSEIGNANT (CodeEns, NomEns, GradeEns, #CodeMat) tarif FROM Programmer P INNER JOIN
— NOTE (#CodeEt, #CodeMat, note) Representation R ON P . Num_rep =
R . Num_rep WHERE P . date =" 25 -
Ecrire les requêtes SQL permettant d’afficher : 07 -2008 "

1. Les informations relatives aux étudiants (Code, Nom et


Date de naissance) selon l’ordre alphabétique croisant 5. Le nombre des musiciens qui participent à la
du nom. représentation n°20
2. SELECT * FROM ETUDIANT ORDER BY NomEt SELECT COUNT (*) FROM Musicien WHERE
ASC Num_rep =20
3. Les noms et les grades des enseignants de la matière 6. Les représentations et leurs dates dont le tarif ne dépasse
dont le nom est ‘BD’. pas 20DH.
SELECT E . NomEns , E SELECT R . Num_Rep , R . titre , P . Date
. GradeEns FROM FROM Representation R
ENSEIGNANT E INNER
3.1. INNER JOIN Programmer P ON R .
JOIN MATIERE M ON M .
Num_Rep = P . Num_Rep WHERE P . tarif
CodeMat = E . CodeMat
<=20
WHERE M . NomMat ="BD"
La liste distincte formée des noms et les coefficients des 4 — Départements :( DNO, DNOM, DIR, VILLE)
5
différentes matières qui sont enseignées par des enseignants de — Employés : (ENO, ENOM, PROF, DATEEMB, SAL,
grade ‘Grd3’. COMM, #DNO)
SELECT DISTINCT ( M . NomMat ) , M .
CoefMat FROM ENSEIGNANT E INNER JOIN 6 Donnez la liste des employés ayant une commission
MATIERE M ON M . CodeMat = E . CodeMat
WHERE E . GradeEns =" Grd3 " SELECT * FROM Employes WHERE COMM NOT NULL
4. Le nombre d’enseignants de la matière dont le nom est
Informatique.
7 2. Donnez les noms, emplois et salaires des employés par
SELECT COUNT(*) FROM ENSEIGNANT E
emploi croissant, et pour chaque emploi, par salaire
INNER JOIN MATIERE M ON
décroissant
M.CodeMat=E.CodeMat WHERE
M.NomMat="Informatique" SELECT ENOM , PROF , SAL FROM Employes
ORDER BY PROF ASC , SAL DESC
— Representation (Num_Rep, titre_Rep, lieu) 8 3. Donnez le salaire moyen des employés
— Musicien (Num_mus, nom, #Num_Rep)
— Programmer (Date, #Num_Rep, tarif) SELECT AVG ( SAL ) FROM Employes

Ecrire les requêtes SQL permettant d’afficher : 9

SQL 4. Donnez le salaire moyen du department Production


1. La liste des titres des représentations.
SELECT * FROM Representation
2. La liste des titres des représentations ayant lieu au SELECT AVG ( E . SAL ) FROM Employes E
« Théâtre allissa». INNER JOIN Departement D
ON E . DNO = D . DNO WHERE D . DNOM ="
SELECT * FROM Representation WHERE production "
lieu =" theatre ␣ allissa "
10

B. ARISS 2/2 2023/2024


LYCEE TECHNIQUE IBN SINA A.S :2023 /2024
KENITRA 1ere Année BTS-DSI
5. Donnes les numéros de département et leur salaire 6. Nom et prénom des employés qui ne travaillent sur
maximum aucun projet.
SELECT DNO , MAX ( SAL ) FROM Employes SELECT Nom , Prenom FROM Employe
GROUP BY DNO WHERE Matricule NOT IN ( SELECT Matricule
FROM Travaille )

6. Donnez les différentes professions et leur salaire O le nom des employés qui ne travaillent pas sur un
moyen
SELECT PROF , MAX ( SAL ) FROM Employes projet à Guelmim.
GROUP BY PROF

SELECT Nom FROM Employe WHERE


SELECT DateNaissance , Adresse FROM Matricule NOT IN( SELECT
Employe WHERE Nom =’Lamharchi ’ T . Matricule FROM
AND Prenom =’Taha ’ Travaille as T , Projet
2. Nom et adresse des employés qui travaillent au as P WHERE T . N_proj = P
département de recherche. . N_proj AND P . Lieu
=’Guelmim ’)
SELECT E . Nom , E . Adresse FROM Employe
as E , Departement as D
WHERE E . N_dep = D . N_dep AND NomD Nom et coefficient des matières.
=’recherche ’
select nom_matiere , coefficient from
Matiere

3. Nom et Prénom des employés dont le supérieur est


Les numéros des cartes d’identité des étudiants dont la
Taha Lamharchi.
moyenne entre 7 et 12.
SELECT Nom , Prenom FROM Employe
select numero_carte_etudiant from Note ,
WHERE superieur =( Matiere mat where
SELECT Matricule FROM
Note . code_matiere = Mat . code_matiere
Employe WHERE Nom
group by numero_carte_etudiant
=’Lamharchi ’ AND Prenom
having (sum ( note_examen * coefficient )/
=’Taha ’)
sum ( coefficient )) between 7 and 12

4. Nom des employés qui travaillent plus de 10heures 1


sur un projet à Guelmim 2
SELECT E . Nom FROM Employe as E , 3
Travaille as T , Projet P 4
WHERE E . Matricule = T . Matricule
AND T . N_proj = P . N_proj AND T . heures 4. La liste des étudiants dont le nom commence par
>=10 AND P . Lieu =’Guelmim ’ ‘ben’.
select * from Etudiant where Nom like "Ben
%"
5. Nom des projets sur lesquelles travaillent Taha
Lamharchi et Dounia Mahmoud.
5. Le nombre des étudiants qui ont comme matière ‘12518’.
SELECT T . N_proj FROM Travaille as
T , Employe as E WHERE T . select * from Note where code_matiere
Matricule = E . Matricule AND E . =12518
Nom =’Lamharchi ’ AND E . Prenom
6. La somme des coefficients des matières.
=’Taha ’
INTERSECT select sum ( coefficient ) from Matiere
SELECT T . N_proj FROM Travaille as
T , Employe as E WHERE T .
Matricule = E . Matricule AND E . 7. Les noms des étudiants qui une note_examen >10.
Nom =’Mahmoud ’ AND E . Prenom
=’Dounia ’ select distinct Nom from Note , Etudiant
where Note . numero_carte_etudiant =
Etudiant . numero_carte_etudiant and

B. ARISS 3/2 2023/2024


LYCEE TECHNIQUE IBN SINA A.S :2023 /2024
KENITRA 1ere Année BTS-DSI

note_examen >10

8. Afficher les noms et les coefficients des matières


étudier par l’étudiant "01234568".
select nom_matiere , coefficient from Note
, Matiere
where Note . numero_carte_etudiant ="
01234568 "

B. ARISS 4/2 2023/2024

Vous aimerez peut-être aussi