Salaire moyen par département

SQLSQLBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce projet, vous allez apprendre à calculer le salaire moyen de chaque département dans une base de données et à afficher les résultats par ordre décroissant à l'aide d'instructions SQL.

👀 Aperçu

MariaDB [edusys]> SOURCE ~/project/singleTableQuery.sql
+------------+--------------+
| dept_name  | avg_salary   |
+------------+--------------+
| Physics    | 91000,000000 |
| Finance    | 85000,000000 |
| Elec. Eng. | 80000,000000 |
| Comp. Sci. | 77333,333333 |
| Biology    | 72000,000000 |
| History    | 61000,000000 |
| Music      | 40000,000000 |
+------------+--------------+
7 lignes affectées (0,001 sec)

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment démarrer le serveur MySQL et importer une base de données
  • Comment écrire une instruction SQL pour regrouper les données par département et calculer le salaire moyen
  • Comment trier les résultats par ordre décroissant en fonction du salaire moyen

🏆 Réalisations

Après avoir terminé ce projet, vous serez capable de :

  • Comprendre comment utiliser les clauses SELECT, FROM, WHERE, GROUP BY et ORDER BY de SQL pour effectuer une analyse de données
  • Mettre en œuvre une instruction SQL pour calculer et afficher les salaires moyens par département par ordre décroissant
  • Appliquer vos connaissances SQL pour résoudre des problèmes d'analyse de données du monde réel

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) sql(("SQL")) -.-> sql/BasicSQLCommandsGroup(["Basic SQL Commands"]) sql(("SQL")) -.-> sql/DataManipulationandQueryingGroup(["Data Manipulation and Querying"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") sql/BasicSQLCommandsGroup -.-> sql/select("SELECT statements") sql/BasicSQLCommandsGroup -.-> sql/insert("INSERT INTO statements") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") sql/BasicSQLCommandsGroup -.-> sql/create_table("CREATE TABLE statements") sql/DataManipulationandQueryingGroup -.-> sql/order_by("ORDER BY clause") sql/DataManipulationandQueryingGroup -.-> sql/group_by("GROUP BY clause") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/database("DB Function - Info Retrieval") subgraph Lab Skills mysql/use_database -.-> lab-301284{{"Salaire moyen par département "}} sql/select -.-> lab-301284{{"Salaire moyen par département "}} sql/insert -.-> lab-301284{{"Salaire moyen par département "}} mysql/select -.-> lab-301284{{"Salaire moyen par département "}} mysql/source -.-> lab-301284{{"Salaire moyen par département "}} sql/create_table -.-> lab-301284{{"Salaire moyen par département "}} sql/order_by -.-> lab-301284{{"Salaire moyen par département "}} sql/group_by -.-> lab-301284{{"Salaire moyen par département "}} mysql/database -.-> lab-301284{{"Salaire moyen par département "}} end

Démarrer MySQL et importer la base de données

Dans cette étape, vous allez apprendre à démarrer le serveur MySQL et à importer la base de données edusys.sql dans MySQL.

  1. Ouvrez un terminal sur votre système.

  2. Démarrez le serveur MySQL :

    sudo /etc/init.d/mysql start
  3. Connectez-vous au terminal MySQL :

    mysql -uroot
  4. Importez la base de données edusys.sql :

    SOURCE ~/project/edusys.sql

Écrire la requête SQL

Dans cette étape, vous allez écrire la requête SQL pour calculer le salaire moyen de chaque département et afficher les résultats par ordre décroissant.

  1. Ouvrez un éditeur de texte et créez un nouveau fichier nommé singleTableQuery.sql dans le répertoire ~/project.

  2. Ajoutez la requête SQL suivante au fichier :

    SELECT dept_name, AVG(salary) AS avg_salary
    FROM instructor
    GROUP BY dept_name
    ORDER BY avg_salary DESC;

    Cette requête :

    • Sélectionnera le dept_name et le salaire moyen (AVG(salary)) sous le nom de avg_salary.
    • Regrouptera les résultats par dept_name.
    • Triera les résultats par avg_salary par ordre décroissant.
  3. Enregistrez le fichier singleTableQuery.sql.

Exécuter la requête SQL

Dans cette étape, vous allez exécuter la requête SQL que vous avez créée dans l'étape précédente.

  1. Dans le terminal MySQL, exécutez la commande suivante pour exécuter le script singleTableQuery.sql :

    SOURCE ~/project/singleTableQuery.sql
  2. Les résultats de la requête seront affichés dans le terminal, montrant le salaire moyen de chaque département par ordre décroissant.

    +------------+--------------+
    | dept_name  | avg_salary   |
    +------------+--------------+
    | Physics    | 91000,000000 |
    | Finance    | 85000,000000 |
    | Elec. Eng. | 80000,000000 |
    | Comp. Sci. | 77333,333333 |
    | Biology    | 72000,000000 |
    | History    | 61000,000000 |
    | Music      | 40000,000000 |
    +------------+--------------+
    7 lignes affectées (0,001 sec)

Félicitations! Vous avez réussi à terminer le projet en écrivant et en exécutant la requête SQL pour afficher les salaires moyens par département par ordre décroissant.

✨ Vérifier la solution et pratiquer

Sommaire

Félicitations! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.