Více potomků v rodinných vztazích v Pythonu

V předchozí lekci mohl otec mít pouze jednoho syna. Toho bylo dosaženo tím, že otec měl vazbu son_id.

Nyní předpokládejme, že otec může mít několik synů. V tomto případě stále můžeme vytvořit pouze jednu tabulku, která bude propojena sama se sebou. Pouze v poli vazby budeme ukládat ne id syna, ale id otce. Tímto způsobem se několik uživatelů bude moci odkazovat na svého otce - a tím pádem bude otec mít několik synů:

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

Získat uživatele spolu s jeho otcem lze následujícím způsobem:

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

Předpokládejme, že máme uživatele. Každý uživatel má otce a matku. Popište strukturu uložení.

Задание 2

Napište dotaz, který načte uživatele spolu s jeho otcem a matkou.