Viacerí potomkovia v rodinných vzťahoch v Pythone

V predchádzajúcej lekcii mohol mať otec iba jedného syna. To sa dosiahlo tým, že otec mal spojenie son_id.

Nech teraz môže mať otec viacerých synov. V tomto prípade môžeme naďalej urobiť iba jednu tabuľku, ktorá bude spojená sama so sebou. Len v poli spojenia budeme ukladať nie id syna, ale id otca. V tomto prípade bude môcť niekoľko užívateľov odkazovať na svojho otca - a tým bude mať otec viacerých synov:

users
id name father_id
1 user1 3
2 user2 3
3 user3 4
4 user4 null

Získať užívateľa spolu s jeho otcom je možné nasledovným spôsobom:

sqlSELECT
  users.name as user_name,
  fathers.name as father_name
FROM
  users
LEFT JOIN users as fathers ON fathers.id=users.father_id
Задание 1

Nech máme užívateľov. Každý užívateľ má otca a matku. Opíšte štruktúru uloženia.

Задание 2

Napíšte dopyt, ktorý získa užívateľa spolu s jeho otcom a matkou.