Veelvuldige Afstammelinge in Familieverwantskappe in Python
In die vorige les kon 'n vader slegs
een seun hê. Dit is bereik deurdat
die vader 'n skakel son_id gehad het.
Laat ons nou aanneem 'n vader kan verskeie
seuns hê. In hierdie geval kan ons steeds
slegs een tabel gebruik, wat aan homself
gekoppel is. Slegs in die skakelveld
sal ons nie die id van die seun stoor nie, maar die id
van die vader. Op hierdie manier kan verskeie gebruikers
verwys na hul vader - en sodoende
sal die vader verskeie seuns hê:
| id | naam | vader_id |
|---|---|---|
| 1 | gebruiker1 | 3 |
| 2 | gebruiker2 | 3 |
| 3 | gebruiker3 | 4 |
| 4 | gebruiker4 | null |
Om 'n gebruiker saam met sy vader te kry, kan ons die volgende doen:
SELECT
gebruikers.naam as gebruiker_naam,
vaders.naam as vader_naam
FROM
gebruikers
LEFT JOIN gebruikers as vaders ON vaders.id=gebruikers.vader_id
Laat ons aanneem ons het gebruikers. Elke gebruiker het 'n vader en 'n moeder. Skryf die bergingsstruktuur uiteen.
Skryf 'n navraag wat 'n gebruiker same met sy vader en moeder sal uithaal.