Introduction
Dans ce projet, vous allez apprendre à exécuter une requête de jointure égale sur les tables city, country et countrylanguage dans MySQL. Le but est de récupérer le nom de la ville, le nom du pays correspondant et la langue à partir de ces tables.
👀 Aperçu
MariaDB [world]> SOURCE /home/labex/project/getCountryNameAndLanguage.sql;
+----------------+-------------+------------+
| CityName | CountryName | Language |
+----------------+-------------+------------+
| Oranjestad | Aruba | Dutch |
| Oranjestad | Aruba | English |
| Oranjestad | Aruba | Papiamento |
| Oranjestad | Aruba | Spanish |
| Kabul | Afghanistan | Balochi |
| Qandahar | Afghanistan | Balochi |
| Herat | Afghanistan | Balochi |
| Mazar-e-Sharif | Afghanistan | Balochi |
| Kabul | Afghanistan | Dari |
| Qandahar | Afghanistan | Dari |
+----------------+-------------+------------+
10 lignes affectées (0,001 sec)
🎯 Tâches
Dans ce projet, vous allez apprendre :
- Comment accéder à MySQL en utilisant la commande
sudosans mot de passe - Comment importer les données du script
world.sqldans MySQL - Comment écrire une requête de jointure égale pour récupérer les informations souhaitées à partir des tables
- Comment limiter les résultats de la requête aux 10 premières lignes
🏆 Réalisations
Après avoir terminé ce projet, vous serez capable de :
- Comprendre le concept de jointures SQL et de savoir les utiliser efficacement
- Récupérer des données à partir de plusieurs tables dans une base de données relationnelle
- Appliquer des requêtes SQL pour filtrer et limiter les résultats selon les besoins
- Gagner de l'expérience pratique dans la manipulation de bases de données MySQL
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 du script world.sql fourni dans MySQL.
- Démarrer le service MySQL :
sudo service mysql start
- Accéder à MySQL :
sudo mysql
- Importer les données du script
world.sql:
MariaDB [(none)]> SOURCE /home/labex/project/world.sql;
Exécuter la requête de jointure
Dans cette étape, vous allez apprendre à exécuter une requête de jointure égale pour récupérer le nom de la ville, le nom du pays correspondant et la langue à partir des tables city, country et countrylanguage.
- Ouvrez le fichier
getCountryNameAndLanguage.sql. - Ajoutez le code suivant au fichier
getCountryNameAndLanguage.sql:
SELECT ci.Name AS CityName, co.Name AS CountryName, col.Language
FROM city AS ci
JOIN country AS co ON ci.CountryCode = co.Code
JOIN countrylanguage AS col ON co.Code = col.CountryCode
LIMIT 10;
Cette requête effectue une jointure égale entre les tables city, country et countrylanguage, et limite les résultats aux 10 premières lignes. La sortie de la requête inclut les en-têtes CityName, CountryName et Language.
Exécuter la requête
Dans cette étape, vous allez apprendre à exécuter le script getCountryNameAndLanguage.sql dans MySQL.
- Dans l'invite de commande MySQL, exécutez la commande suivante pour exécuter le script :
MariaDB [world]> SOURCE /home/labex/project/getCountryNameAndLanguage.sql;
Cela exécutera la requête et affichera les résultats dans l'invite de commande MySQL.
La sortie devrait ressembler à ceci :
+----------------+-------------+------------+
| CityName | CountryName | Language |
+----------------+-------------+------------+
| Oranjestad | Aruba | Dutch |
| Oranjestad | Aruba | English |
| Oranjestad | Aruba | Papiamento |
| Oranjestad | Aruba | Spanish |
| Kabul | Afghanistan | Balochi |
| Qandahar | Afghanistan | Balochi |
| Herat | Afghanistan | Balochi |
| Mazar-e-Sharif | Afghanistan | Balochi |
| Kabul | Afghanistan | Dari |
| Qandahar | Afghanistan | Dari |
+----------------+-------------+------------+
10 lignes affectées (0,001 sec)
Félicitations! Vous avez réussi à terminer le projet.
Résumé
Félicitations! Vous avez terminé ce projet. Vous pouvez pratiquer plus de laboratoires sur LabEx pour améliorer vos compétences.
