Python-da Bir neçe övladı olan qohumluq əlaqələri
Əvvəlki dərsdə atanin yalnız bir oğlu ola bilərdi. Bu,
atanin son_id əlaqəsinin olması sayəsində həyata keçirilirdi.
İndi isə atanin bir neçe oğlu ola biləcəyini fərz edək. Bu halda biz hələ də
yalnız bir cədvəl yarada bilərik, hansı ki, özü ilə özü əlaqədə olacaq.
Yalnız əlaqə sahəsində oğlun id-ni deyil, atanın id-ni
saxlayacayıq. Bu halda bir neçe istifadəçi öz atalarına istinad edə bilər -
və beləliklə atanin bir neçe oğlu olacaq:
| id | name | father_id |
|---|---|---|
| 1 | user1 | 3 |
| 2 | user2 | 3 |
| 3 | user3 | 4 |
| 4 | user4 | null |
İstifadəçini onun atası ilə birlikdə almaq üçün aşağıdakı kimi edə bilərik:
SELECT
users.name as user_name,
fathers.name as father_name
FROM
users
LEFT JOIN users as fathers ON fathers.id=users.father_id
Tutaq ki, bizim istifadəçilərimiz var. Hər bir istifadəçinin atası və anası var. Saxlama quruluşunu təsvir edin.
İstifadəçini onun atası və anası ilə birlikdə çıxaran sorğu yazın.