Exercice 1 : Sélectionner des Données de Base
Exercice 2 : Sélectionner des Colonnes Spécifiques
Exercice 3 : Filtrer les Données avec WHERE
Exercice 4 : Utiliser les Fonctions d’Agrégation
Exercice 5 : Grouper les Données avec GROUP BY
Exercice 6 : Filtrer les Groupes avec HAVING
Exercice 7 : Joindre Deux Tables avec INNER JOIN
Exercice 8 : Utiliser les Sous-requêtes
Objectif : Apprendre à sélectionner des données d’une table.
Consigne : Sélectionnez tous les enregistrements de la table employees
.
SELECT * FROM employees;
SELECT * FROM employees;
sélectionne toutes les colonnes (*
) de tous les enregistrements dans la table employees
.Objectif : Apprendre à sélectionner des colonnes spécifiques.
Consigne : Sélectionnez les colonnes first_name
et last_name
de la table employees
.
SELECT first_name, last_name FROM employees;
first_name
et last_name
de la table employees
.Objectif : Apprendre à filtrer les données avec une clause WHERE
.
Consigne : Sélectionnez tous les employés qui travaillent dans le département Sales
.
SELECT * FROM employees WHERE department = 'Sales';
WHERE
est utilisée pour filtrer les enregistrements. Ici, seuls les employés dont le département est Sales
sont sélectionnés.Objectif : Apprendre à utiliser les fonctions d’agrégation comme COUNT
.
Consigne : Comptez le nombre total d’employés dans la table employees
.
SELECT COUNT(*) AS total_employees FROM employees;
COUNT(*)
compte le nombre total d’enregistrements dans la table. Le résultat est affiché sous l’alias total_employees
.Objectif : Apprendre à grouper les données.
Consigne : Affichez le nombre d’employés par département.
SELECT department, COUNT(*) AS num_employees
FROM employees
GROUP BY department;
GROUP BY
permet de grouper les enregistrements par département. COUNT(*)
compte le nombre d’employés dans chaque groupe.Objectif : Apprendre à filtrer les groupes de données.
Consigne : Affichez les départements ayant plus de 5 employés.
SELECT department, COUNT(*) AS num_employees
FROM employees
GROUP BY department
HAVING COUNT(*) > 5;
HAVING
est utilisée pour filtrer les groupes après l’agrégation. Ici, seuls les départements ayant plus de 5 employés sont affichés.Objectif : Apprendre à joindre deux tables.
Consigne : Sélectionnez les employés et le nom de leur département en joignant les tables employees
et departments
.
SELECT employees.first_name, employees.last_name, departments.department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;
INNER JOIN
pour lier les tables employees
et departments
en fonction de la clé department_id
. Le résultat affiche les noms des employés et leur département.Objectif : Apprendre à utiliser des sous-requêtes.
Consigne : Sélectionnez tous les employés qui gagnent plus que la moyenne des salaires.
SELECT first_name, last_name, salary
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
(SELECT AVG(salary) FROM employees)
calcule le salaire moyen. WHERE
compare le salaire de chaque employé à cette moyenne.Objectif : Apprendre à mettre à jour des enregistrements.
Consigne : Mettez à jour le salaire des employés du département Marketing
en augmentant de 10%.
UPDATE employees
SET salary = salary * 1.10
WHERE department = 'Marketing';
UPDATE
met à jour les enregistrements dans la table employees
.Marketing
.Objectif : Apprendre à supprimer des enregistrements.
Consigne : Supprimez tous les employés qui n’ont pas de département attribué.
DELETE FROM employees
WHERE department IS NULL;
DELETE
supprime les enregistrements de la table employees
. WHERE
avec IS NULL
filtre les employés sans département pour les supprimer.