Employés et salaires
[20 minutes]
Soit le schéma relationnel :
1
Employe (#Num, Nom, Prenom, Age, Salaire, Fonction=>Fonction, Societe=>Societe)
2
Fonction (#Intitule, SalaireMin, SalaireMax, NbHeures)
3
Societe (#Nom, Pays, Activite)
Question
Écrivez une requête SQL permettant de sélectionner les noms de tous les directeurs de France.
Solution
1
SELECT Employe.Nom
2
FROM Employe JOIN Societe
3
ON Employe.Societe=Societe.Nom
4
WHERE Employe.Fonction='Directeur' AND Societe.Pays='France'
Question
Écrivez une requête SQL permettant d'afficher le salaire de tous les employés en francs (sachant que le salaire dans la table est en euros et que un euro vaut 6.55957 franc).
Solution
1
SELECT Num, Nom, Salaire*6.55957 As SalaireEnFrancs
2
FROM Employe
Question
Écrivez une requête SQL permettant de vérifier que les salaires de chaque employé correspondent bien à ce qui est autorisé par leur fonction.
Solution
1
SELECT Employe.Salaire, Fonction.SalaireMin, Fonction.SalaireMax, (Employe.Salaire >= Fonction.SalaireMin AND Employe.Salaire <= SalaireMax) AS Correspond
2
FROM Employe JOIN Fonction
3
ON Employe.Fonction=Fonction.Intitule
Question
Écrivez une requête SQL permettant le passage aux 35 heures :
en modifiant le nombre d'heures travaillées pour chaque fonction (ramené à 35 s'il est supérieur à 35),
et en réajustant les échelles de salaire au pro-rata du nombre d'heures travaillées avant le passage aux 35 heures.
Solution
1
UPDATE Fonction
2
SET NbHeures=35, SalaireMin=SalaireMin*35/NbHeures, SalaireMax=SalaireMax*35/NbHeures
3
WHERE NbHeures>35