Interrogation de la plage de codes pays

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 à récupérer les pays qui parlent la même langue officielle que le pays avec le code pays "FRO" en utilisant une opération de sous-requête multi-lignes dans MySQL.

👀 Aperçu

MariaDB [world]> SOURCE /home/labex/project/getCountryCode.sql;
+-------------+----------+
| CountryCode | Language |
+-------------+----------+
| DNK         | Danois   |
| FRO         | Danois   |
| FRO         | Féroéen  |
| GRL         | Danois   |
+-------------+----------+
4 lignes affectées (0,002 sec)

🎯 Tâches

Dans ce projet, vous allez apprendre :

  • Comment accéder à MySQL en utilisant la commande sudo sans mot de passe
  • Comment importer les données du fichier world.sql dans la base de données MySQL
  • Comment écrire une requête SQL utilisant des sous-requêtes multi-lignes pour récupérer les informations souhaitées
  • Comment exécuter la requête SQL dans l'interface de ligne de commande MySQL

🏆 Réalisations

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

  • Comprendre le concept de sous-requêtes multi-lignes en SQL
  • Récupérer des données spécifiques à partir d'une base de données en utilisant des requêtes SQL complexes
  • Appliquer vos connaissances en SQL pour résoudre des problèmes de récupération de données dans le monde réel

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sql(("SQL")) -.-> sql/DataManipulationandQueryingGroup(["Data Manipulation and Querying"]) mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) sql(("SQL")) -.-> sql/BasicSQLCommandsGroup(["Basic SQL Commands"]) 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/where("WHERE clause") sql/DataManipulationandQueryingGroup -.-> sql/subqueries("Subqueries") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/database("DB Function - Info Retrieval") subgraph Lab Skills mysql/use_database -.-> lab-301396{{"Interrogation de la plage de codes pays"}} sql/select -.-> lab-301396{{"Interrogation de la plage de codes pays"}} sql/insert -.-> lab-301396{{"Interrogation de la plage de codes pays"}} mysql/select -.-> lab-301396{{"Interrogation de la plage de codes pays"}} mysql/source -.-> lab-301396{{"Interrogation de la plage de codes pays"}} sql/create_table -.-> lab-301396{{"Interrogation de la plage de codes pays"}} sql/where -.-> lab-301396{{"Interrogation de la plage de codes pays"}} sql/subqueries -.-> lab-301396{{"Interrogation de la plage de codes pays"}} mysql/database -.-> lab-301396{{"Interrogation de la plage de codes pays"}} end

Accéder à MySQL et importer les données

Dans cette étape, vous allez apprendre à accéder à MySQL en utilisant la commande sudo et à importer les données world.sql dans la base de données world.

  1. Ouvrez un terminal et exécutez la commande suivante pour démarrer le service MySQL :
sudo service mysql start
  1. Accédez à l'interface de ligne de commande MySQL en utilisant la commande sudo :
sudo mysql
  1. Importez les données world.sql dans la base de données MySQL :
MariaDB [None]> SOURCE /home/labex/project/world.sql;

Cela importera les données du fichier world.sql dans la base de données MySQL.

Maintenant, vous avez réussi à accéder à MySQL et à importer les données nécessaires. Passons à l'étape suivante.

Récupérer les pays ayant la même langue officielle que FRO

Dans cette étape, vous allez écrire une requête SQL pour récupérer tous les pays qui parlent la même langue officielle que le pays avec le code pays FRO.

  1. Ouvrez le fichier getCountryCode.sql et ajoutez la requête SQL suivante :
SELECT cl1.CountryCode, cl1.Language
FROM countrylanguage AS cl1
WHERE cl1.Language IN (
    -- Sous-requête pour récupérer la langue du pays avec CountryCode 'FRO' et IsOfficial = 'T'
    SELECT cl2.Language
    FROM countrylanguage AS cl2
    WHERE cl2.CountryCode = 'FRO' AND cl2.IsOfficial = 'T'
)
AND cl1.CountryCode IN (
    -- Sous-requête pour récupérer le CountryCode des pays ayant la même langue que celle de FRO et IsOfficial = 'T'
    SELECT cl3.CountryCode
    FROM countrylanguage AS cl3
    WHERE cl3.Language IN (
        -- Sous-requête pour récupérer la langue du pays avec CountryCode 'FRO' et IsOfficial = 'T'
        SELECT cl4.Language
        FROM countrylanguage AS cl4
        WHERE cl4.CountryCode = 'FRO' AND cl4.IsOfficial = 'T'
    )
    AND cl3.IsOfficial = 'T'
);

Cette requête utilise une sous-requête multi-lignes pour récupérer les pays qui parlent la même langue officielle que le pays avec le code pays FRO.

  1. Enregistrez le fichier getCountryCode.sql.

Maintenant, vous avez créé la requête SQL pour récupérer les informations souhaitées. Dans l'étape suivante, vous allez exécuter la requête dans MySQL.

Exécuter la requête SQL

Dans cette étape, vous allez exécuter la requête SQL stockée dans le fichier getCountryCode.sql.

  1. Exécutez la requête SQL stockée dans le fichier getCountryCode.sql :
MariaDB [world]> SOURCE /home/labex/project/getCountryCode.sql;

Cela exécutera la requête SQL et affichera les résultats dans le terminal.

La sortie devrait ressembler à ceci :

+-------------+----------+
| CountryCode | Language |
+-------------+----------+
| DNK         | Danois   |
| FRO         | Danois   |
| FRO         | Féroéen  |
| GRL         | Danois   |
+-------------+----------+
4 lignes affectées (0,002 sec)

La requête a réussi à récupérer les pays qui parlent la même langue officielle que le pays avec le code pays FRO.

Félicitations! Vous avez terminé le projet de requêtage de la plage de codes pays en utilisant une opération de sous-requête multi-lignes.

✨ 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.