⊗pyPmDOChLT 124 of 129 menu

Verkettung verknüpfter Tabellen in Python

Nehmen wir an, Benutzer leben in bestimmten Städten, und diese Städte befinden sich in verschiedenen Ländern. In diesem Fall benötigen wir zur Speicherung bereits drei Tabellen: Die Benutzer werden mit den Städten verknüpft, und die Städte - mit den Ländern. Dabei brauchen wir kein Verknüpfungsfeld für Benutzer mit Ländern - denn die Benutzer sind ja bereits mit den Ländern über die Verknüpfung der Städte und Länder verbunden.

Schauen wir uns unsere Tabellen an. Die Tabelle mit den Ländern:

countries
id name
1 country1
2 country2

Tabelle mit den Städten:

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

Die Tabelle mit den Benutzern bleibt unverändert:

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

Abfragen

Um Benutzer zusammen mit ihren Städten und Ländern abzurufen, müssen wir zwei Joins durchführen: Der erste verknüpft Städte mit Benutzern, und der zweite - Länder mit Städten:

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

Praktische Aufgaben

Nehmen wir an, Produkte gehören zu einer bestimmten Unterkategorie, und Unterkategorien gehören zu einer bestimmten Kategorie. Beschreiben Sie die Speicherstruktur.

Schreiben Sie eine Abfrage, die Produkte abruft, zusammen mit ihren Unterkategorien und Kategorien.

Schreiben Sie eine Abfrage, die Unterkategorien zusammen mit ihren Kategorien abruft.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen