Mai mulți descendenți în relațiile de rudenie în Python

În lecția anterioară, un tată putea avea doar un singur fiu. Acest lucru se realiza datorită faptului că tatăl avea o legătură son_id.

Să presupunem acum că un tată poate avea mai mulți fii. În acest caz, putem face în continuare doar un singur tabel, care va fi legat de el însuși. Doar că în câmpul de legătură vom stoca nu id-ul fiului, ci id-ul tatălui. În acest caz, mai mulți utilizatori vor putea face referire la tatăl lor - și astfel tatăl va avea mai mulți fii:

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

Putem obține utilizatorul împreună cu tatăl său în felul următor:

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

Să presupunem că avem utilizatori. Fiecare utilizator are un tată și o mamă. Descrieți structura de stocare.

Задание 2

Scrieți o interogare care va extrage utilizatorul împreună cu tatăl și mama sa.