loader image

La boite à ITees

Illustration d'une ville futuriste avec des buildings, au centre desquels le logo SQL est affiché dans un rond bleu lumineux.

Exercices SQL

Exercice 1

 

Sélectionner des Données de Base

Objectif : Apprendre à sélectionner des données d’une table.

 

Consigne : Sélectionnez tous les enregistrements de la table employees.

 

Correction de l’exercice 1 

Correction
SELECT * FROM employees;
    • La commande SELECT * FROM employees; sélectionne toutes les colonnes (*) de tous les enregistrements dans la table employees.

Exercice 2

 

Sélectionner des Colonnes Spécifiques

Objectif : Apprendre à sélectionner des colonnes spécifiques.

 

Consigne : Sélectionnez les colonnes first_name et last_name de la table employees.

 

Correction de l’exercice 2

Correction
SELECT first_name, last_name FROM employees;
    • Cette requête sélectionne uniquement les colonnes first_name et last_name de la table employees.

Exercice 3

 

Filtrer les Données avec WHERE

Objectif : Apprendre à filtrer les données avec une clause WHERE.

 

Consigne : Sélectionnez tous les employés qui travaillent dans le département Sales.

 

Correction de l’exercice 3

Correction
SELECT * FROM employees WHERE department = 'Sales';
    • La clause WHERE est utilisée pour filtrer les enregistrements. Ici, seuls les employés dont le département est Sales sont sélectionnés.

Exercice 4

 

Utiliser les Fonctions d’Agrégation

Objectif : Apprendre à utiliser les fonctions d’agrégation comme COUNT.

 

Consigne : Comptez le nombre total d’employés dans la table employees.

 

Correction de l’exercice 4

Correction
SELECT COUNT(*) AS total_employees FROM employees;
    • La fonction COUNT(*) compte le nombre total d’enregistrements dans la table. Le résultat est affiché sous l’alias total_employees.

Exercice 5

 

Grouper les Données avec GROUP BY

Objectif : Apprendre à grouper les données.

 

Consigne : Affichez le nombre d’employés par département.

 

Correction de l’exercice 5

Correction
SELECT department, COUNT(*) AS num_employees 
FROM employees 
GROUP BY department;
    • La clause GROUP BY permet de grouper les enregistrements par département.
    • La fonction COUNT(*) compte le nombre d’employés dans chaque groupe.

Exercice 6

 

Filtrer les Groupes avec HAVING

Objectif : Apprendre à filtrer les groupes de données.

 

Consigne : Affichez les départements ayant plus de 5 employés.

 

Correction de l’exercice 6

Correction
SELECT department, COUNT(*) AS num_employees 
FROM employees 
GROUP BY department 
HAVING COUNT(*) > 5;
    • La clause 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.

Exercice 7

 

Joindre Deux Tables avec INNER JOIN

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.

 

Correction de l’exercice 7

Correction
SELECT employees.first_name, employees.last_name, departments.department_name 
FROM employees 
INNER JOIN departments ON employees.department_id = departments.id;
    • La requête utilise un 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.

Exercice 8

 

Utiliser les Sous-requêtes

Objectif : Apprendre à utiliser des sous-requêtes.

 

Consigne : Sélectionnez tous les employés qui gagnent plus que la moyenne des salaires.

 

Correction de l’exercice 8

Correction
SELECT first_name, last_name, salary 
FROM employees 
WHERE salary > (SELECT AVG(salary) FROM employees);
    • La sous-requête (SELECT AVG(salary) FROM employees) calcule le salaire moyen.
    • La clause WHERE compare le salaire de chaque employé à cette moyenne.

Exercice 9

 

Mettre à Jour des Données avec UPDATE

Objectif : Apprendre à mettre à jour des enregistrements.

 

Consigne : Mettez à jour le salaire des employés du département Marketing en augmentant de 10%.

 

Correction de l’exercice 9

Correction
UPDATE employees 
SET salary = salary * 1.10 
WHERE department = 'Marketing';
    • La commande UPDATE met à jour les enregistrements dans la table employees.
    • Le salaire est multiplié par 1.10 pour les employés du département Marketing.

Exercice 10

 

Supprimer des Données avec DELETE

Objectif : Apprendre à supprimer des enregistrements.

 

Consigne : Supprimez tous les employés qui n’ont pas de département attribué.

 

Correction de l’exercice 10

Correction
DELETE FROM employees 
WHERE department IS NULL;
    • La commande DELETE supprime les enregistrements de la table employees.
    • La clause WHERE avec IS NULL filtre les employés sans département pour les supprimer.