Pythonда бир нечта фарзандли ўхшашлик алоқалари

Олдинги дарсда ота фақат битта farzanдга эга бўлиши мумкин эди. Бу отанинг son_id алоқаси орқали амалга оширилган эди.

Энди ота бир нечта фарзандга эга бўлиши мумкин деб фараз қилайлик. Бу ҳолатда биз ҳали хам ўзига ўзи боғланган битта жадвал яратишимиз мумкин. Фақат алоқа майдонида биз id фарзандни эмас, балки id отани сақлаймиз. Бу ҳолатда бир нечта фойдаланувчи ўз отасига мурожаат қилади - ва шу тариқа ота бир нечта фарзандга эга бўлади:

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

Фойдаланувчини унинг отаси билан бирга quyidagicha олиш мумкин:

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

Фарз қилайлик, бизда фойдаланувчилар мавжуд. Ҳар бир фойдаланувчининг отаси ва онаси бор. Сақлаш тузилмасини ёзиб чиқинг.

Задание 2

Фойдаланувчини унинг отаси ва онаси билан бирга оладиган сўров ёзинг.