Flera avkommor i familjerelationer i Python
I föregående lektion kunde en far bara ha
en son. Detta uppnåddes genom att
fadern hade en relation son_id.
Låt oss nu anta att en far kan ha flera
söner. I det här fallet kan vi fortfarande
göra en enda tabell, som kommer att vara
länkad till sig själv. Endast i relationsfältet
kommer vi att lagra inte id på sonen, utan id
på fadern. På detta sätt kan flera användare
referera till sin far - och därigenom
kommer fadern att ha flera söner:
| id | name | father_id |
|---|---|---|
| 1 | user1 | 3 |
| 2 | user2 | 3 |
| 3 | user3 | 4 |
| 4 | user4 | null |
Man kan få en användare tillsammans med hans far på följande sätt:
SELECT
users.name as user_name,
fathers.name as father_name
FROM
users
LEFT JOIN users as fathers ON fathers.id=users.father_id
Låt oss anta att vi har användare. Varje användare har en far och en mor. Beskriv lagringsstrukturen.
Skriv en fråga som hämtar användaren tillsammans med hans far och mor.