⊗pyPmDOFR 126 of 129 menu

Pythonda Melumatlarin Qohumluq Elaqeleri

Tesewwur edek ki, qarsimizda atalar ve ogullar saxlanmasi meselesi durur. Her atanin yalniz bir oglu ola biler, ogul ise oz novbesinde bir oglu ola biler.

Melumatlari necə saxlayacagimizi dusunmeliyik. Ağila gelen ilk fikir - iki cedvel yaratmaqdir: parents atalar ucun ve sons ogullar ucun. Sonra bu cedvelleri bir xanasla elaqelendirmek: son_id ya da parent_id.

Lakin, bu fikir cox yaxşı deyil - axı eyni insan hem ata, hem de oglu ola biler - ve onu her iki cedvelde saxlamaq mecburiyyetinde qalariq, bu ise narahatedici, daha cox yer tutur ve asanlıqla sehvlere sebeb olur.

Daha yaxşı variant - cedveli ozu ile elaqelendirmekdir: users cedveli yaradaq, ora butun istifadeçileri yerləşdirek ve her birine son_id xanası teyin edek, hansinda ki, hemin cedveldeki oglun id saxlanilacaq:

users
id name son_id
1 user1 2
2 user2 3
3 user3 null

Sorğular

Indi gelin istifadeçini onun oglu ile birlikde çıxaran bir sorğu yazaq.

Evvelce gelin sadəcə istifadeçileri çıxaraq:

SELECT * FROM users

Indi istifadeçilere onlarin ogullarini birleşdirek. Biz cedveli ozu ile birleşdireceyik, ona göre onu yeniden adlandirmaq lazımdır:

LEFT JOIN users as sons

Indi biz esas cedvelle yeniden adlandırılmış cedvel arasında elaqeni göstere bilerik:

LEFT JOIN users as sons ON sons.id=users.son_id

Indi xanalari gosterək:

SELECT users.name as user_name, sons.name as son_name

Hamısını birlikde toplayaq ve aşağıdakı sorğunu elde edek:

SELECT users.name as user_name, sons.name as son_name FROM users LEFT JOIN users as sons ON sons.id=users.son_id

Praktiki Tapşırıqlar

Tesewwur edek ki, kateqoriyalarımız var. Her kateqoriya ana kateqoriyaya aid ola biler, o da oz novbesinde oz ana kateqoriyasina ve s. Saxlama quruluşunu izah edin.

Kateqoriyani onun ana kateqoriyası ile birlikde çıxaran bir sorğu yazın.

Kateqoriyani onun ana kateqoriyası ve baba kateqoriyası ile birlikde çıxaran bir sorğu yazın.

Kateqoriyani onun ana kateqoriyası, baba kateqoriyası ve ata baba kateqoriyası ile birlikde çıxaran bir sorğu yazın.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et