Exercices¶
La base de données Département-Employé présente une liste d'employés qui appartiennent à un département et qui ont un superviseur.
Télécharger le fichier SQL de création de la BD
L'extraction de données¶
Écrire les requêtes SQL SELECT pour extraire les donnés suivantes :
-
Affichez le nom de l’employé, le nom de son département et sa commission pour tous les employés qui ont un département.
🌞 Aide : INNER JOIN
✔ Résultat attendu :

-
Affichez le numéro d'employé, le nom d'employé, la commission, le nom de département et le site du sépartement pour les employés qui travaillent au département situé à Chicago et dont la commission est supérieur à 1000.
🌞 Aide: INNER JOIN + WHERE
✔ Résultat attendu :

-
Afficher le numéro et le nom des départements n'ayant aucun employé.
🌞 Aide : LEFT JOIN ou RIGHT JOIN (ça dépend de comment vous écrivez la requête)
✔ Résultat attendu :

-
Affichez le nom de tous les départements et le nombre d'employés qui y travaillent, même si un département n’a aucun employé.
🌞 Aide : LEFT JOIN ou RIGHT JOIN + GROUP BY
✔ Résultat attendu :

-
Afficher le total des salaires et des commissions par ville et donner un nom représentatif aux colonnes.
ATTENTION : Si une commission est nulle, le total sera nul. Utiliser la fonction NVL() dans le SELECT pour afficher 0 si une valeur est nulle.
✔ Résultat attendu :

-
Calculez la moyenne des (salaires + commissions) par département ayant des employés et pour chaque département trouvé, affichez son nom et la moyenne en renommant les colonnes adéquatement.
✔ Résultat attendu :

👍 Améliorations :
-
Si une commission est nulle, calculer 0 dans l'adition des salaires + commissions... voir fonction NVL()
Résultat :

-
Afficher la somme des commissions en plus... voir fonction SUM()
Résultat :

-
Arrondir les moyennes à l'entier... voir fonction ROUND()
Résultat :

-
-
Pour le département ayant le plus grand total des salaires, afficher son nom et sa ville ainsi que le total des salaires de ce département.
🌞 Aide : FETCH FIRST
✔ Résultat attendu :

-
Afficher les noms des employés qui sont superviseur.
🌞 Aide :
- Trouver la liste des numéros distincts de superviseurs
- Afficher les noms d'employés pour les employés ayant un numéro apparaissant dans la liste trouvée par le premier SELECT (avec SELECT imbriqué)
Résultat attendu :

-
Afficher le numéro, le nom et le salaire des employés, ainsi que la moyenne de tous les salaires arrondie à l'entier, pour les employés ayant un salaire supérieur à la moyenne de tous les salaires.
🌞 Aide :
- Trouver la moyenne des salaires arrondie à l'entier et renommer la moyenne
moyenneSalaires - Utiliser ce Select dans le FROM, exemple :
FROM employe, (select imbriqué)
✔ Résultat attendu :

- Trouver la moyenne des salaires arrondie à l'entier et renommer la moyenne
-
Pour chaque superviseur, afficher son nom et le nombre d'employés qu'il supervise, en ordre décroissant du nombre d'employés supervisés, pour les superviseurs ayant au moins 3 employés sous leur charge.
🌞 Aide : INNER JOIN, renommer les tables (puisqu'on joint la table à elle-même), HAVING
⚠ Aucun select imbriqué ici
✔ Résultat attendu :

-
Affichez le nom, le salaire et la commission pour les employés dont la somme (salaire + commission) est supérieure à la moyenne globale des salaires + commissions.
🌞 Aide :
- Trouver la moyenne globale des salaires + commissions (attention aux commissions nulles)
-
Utiliser ce SELECT dans une condition WHERE, exemple :
WHERE (salaire + commission) > (Select imbriqué)
✔ Résultat attendu :
