Analyse de données MySQL

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 à utiliser les fonctions intégrées de MySQL pour extraire des informations pertinentes de la table des employés (emp) dans la base de données du personnel. Vous allez pratiquer l'écriture de requêtes SQL pour accéder et manipuler des données dans une base de données relationnelle.

👀 Aperçu

MariaDB [personnel]> SOURCE /home/labex/project/multiple_line_function.sql;
+---------------+------------+------------+-------------+
| department_id | max_salary | min_salary | avg_salary  |
+---------------+------------+------------+-------------+
|            20 |    3000.00 |     800.00 | 2175.000000 |
|            10 |    5000.00 |    1300.00 | 2916.666667 |
+---------------+------------+------------+-------------+
2 lignes affectées (0,001 sec)

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment accéder à MySQL en utilisant la commande sudo sans mot de passe
  • Comment importer des données à partir d'un fichier SQL dans une base de données MySQL
  • Comment écrire une requête SQL pour extraire le numéro de département, le salaire maximum, le salaire minimum et le salaire moyen pour les départements dont le salaire moyen est de 2000 ou plus, et trier les résultats par ordre décroissant du numéro de département

🏆 Réalisations

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

  • Comprendre comment utiliser les fonctions intégrées de MySQL pour effectuer une analyse de données complexe
  • Écrire des requêtes SQL pour extraire et manipuler des données d'une base de données relationnelle
  • Appliquer vos connaissances en SQL pour résoudre des problèmes de gestion de données du monde réel

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) 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") sql/DataManipulationandQueryingGroup -.-> sql/having("HAVING clause") subgraph Lab Skills mysql/use_database -.-> lab-301364{{"Analyse de données MySQL"}} sql/select -.-> lab-301364{{"Analyse de données MySQL"}} sql/insert -.-> lab-301364{{"Analyse de données MySQL"}} mysql/select -.-> lab-301364{{"Analyse de données MySQL"}} mysql/source -.-> lab-301364{{"Analyse de données MySQL"}} sql/create_table -.-> lab-301364{{"Analyse de données MySQL"}} sql/order_by -.-> lab-301364{{"Analyse de données MySQL"}} sql/group_by -.-> lab-301364{{"Analyse de données MySQL"}} sql/having -.-> lab-301364{{"Analyse de données MySQL"}} end

Accéder à MySQL et importer des données

Dans cette étape, vous allez apprendre à accéder à MySQL en utilisant la commande sudo sans mot de passe, et à importer les données de /home/labex/project/personnel.sql dans MySQL.

  1. Démarrer le service MySQL :
sudo service mysql start
  1. Accéder à MySQL en utilisant la commande sudo :
sudo mysql
  1. Importer les données de /home/labex/project/personnel.sql dans MySQL et basculer vers la base de données personnel :
MariaDB [(none)]> SOURCE /home/labex/project/personnel.sql;

Écrire la requête SQL

Dans cette étape, vous allez apprendre à écrire la requête SQL pour extraire les informations pertinentes de la table emp dans la base de données personnel.

  1. Ouvrez le fichier multiple_line_function.sql.
  2. Ajoutez la requête SQL suivante au fichier :
SELECT deptno AS 'department_id', MAX(sal) AS'max_salary', MIN(sal) AS'min_salary', AVG(sal) AS 'avg_salary'
FROM emp
GROUP BY deptno
HAVING AVG(sal) >= 2000
ORDER BY deptno DESC;

Cette requête extraira le numéro de département, le salaire maximum, le salaire minimum et le salaire moyen pour les départements dont le salaire moyen est de 2000 ou plus, et triera les résultats par ordre décroissant du numéro de département.

Exécuter la requête SQL

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

  1. Ouvrez l'invite MySQL :
MariaDB [personnel]> SOURCE /home/labex/project/multiple_line_function.sql;

Cela exécutera la requête SQL et affichera les résultats dans l'invite MySQL.

La sortie devrait ressembler à ceci :

+---------------+------------+------------+-------------+
| department_id | max_salary | min_salary | avg_salary  |
+---------------+------------+------------+-------------+
|            20 |    3000.00 |     800.00 | 2175.000000 |
|            10 |    5000.00 |    1300.00 | 2916.666667 |
+---------------+------------+------------+-------------+
2 lignes affectées (0,001 sec)

Félicitations ! Vous avez réussi à terminer le projet.

✨ Vérifier la solution et pratiquer

Sommaire

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