⊗ppPmDOChLT 383 of 447 menu

Chaîne de tables liées

Supposons maintenant que les utilisateurs vivent dans des villes spécifiques, et que ces villes sont situées dans différents pays. Dans ce cas, pour le stockage, nous aurons besoin de trois tables : les utilisateurs seront liés aux villes, et les villes seront liées aux pays. Par conséquent, nous n'aurons pas besoin d'un champ de liaison direct entre les utilisateurs et les pays - car les utilisateurs seront de toute façon liés aux pays via la liaison des villes et des pays.

Examinons nos tables. La table des pays :

countries
id name
1 country1
2 country2

La table des villes :

cities
id name country_id
1 city1 1
2 city2 1
3 city3 2

La table des utilisateurs restera inchangée :

users
id name city_id
1 user1 1
2 user2 1
3 user3 2
4 user4 1
5 user5 3
6 user6 2

Requêtes

Pour récupérer les utilisateurs ainsi que leurs villes et pays, nous devrons faire deux jointures : la première joindra les villes aux utilisateurs, et la seconde joindra les pays aux villes :

SELECT users.name, cities.name as city_name, countries.name as country_name FROM users LEFT JOIN cities ON cities.id=users.city_id LEFT JOIN countries ON countries.id=cities.country_id

Tâches pratiques

Supposons que les produits appartiennent à une sous-catégorie spécifique, et que les sous-catégories appartiennent à une catégorie spécifique. Décrivez la structure de stockage.

Écrivez une requête qui récupérera les produits, ainsi que leurs sous-catégories et catégories.

Écrivez une requête qui récupérera les sous-catégories ainsi que leurs catégories.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser