⊗pyPmDOFR 126 of 129 menu

Python හි දත්තවල ඥාති සම්බන්ධතා

අප ඉදිරියේ පියවරුන් සහ පුතුන් ගබඩා කිරීමේ කාර්යයක් ඇතැයි සිතන්න. සෑම පියෙකුටම පුතෙකු එක් අයෙකු පමණක් තිබිය හැකිය, පුතෙකුටත් අනුව ඔහුට එක් පුතෙකු පමණක් තිබිය හැකිය.

දත්ත ගබඩා කරන්නේ කෙසේදැයි සිතා බැලිය යුතුය. හිතට එන පළමු අදහස වන්නේ වගු දෙකක් සෑදීමයි: පියවරුන් සඳහා parents සහ පුතුන් සඳහා sons. පසුව මෙම වගු සමහර ක්ෂේත්රයකින් සම්බන්ධ කරන්න: son_id හෝ parent_id.

කෙසේ වෙතත්, මෙය හොඳ අදහසක් නොවේ - එකම පුද්ගලයෙකුට එකවරම පියෙකු සහ පුතෙකු විය හැකිය - ඔහුව වගු දෙකේම ගබඩා කිරීමට සිදුවනු ඇත, එය අපහසු ය, වැඩි ඉඩක් ගනී සහ දෝෂ සහිත වීමට පහසු ය.

වඩා හොඳ විකල්පය වන්නේ වගුව තමන් සමඟම සම්බන්ධ කිරීමයි: අපි users වගුවක් සාදමු, එහි සියලුම භාවිතාකරුවන් ගබඩා කර එක් එක් අයට son_id ක්ෂේත්රයක් සාදමු, එහි එම වගුවෙන්ම පුතුගේ id ගබඩා කෙරේ:

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

විමසුම්

දැන් අපි භාවිතාකරුවා ඔහුගේ පුතා සමඟම ලබා ගන්න විමසුමක් ලියමු.

පළමුව, අපි භාවිතාකරුවන් ලබා ගනිමු:

SELECT * FROM users

දැන් අපි භාවිතාකරුවන්ට ඔවුන්ගේ පුතුන් join කරමු. අපි වගුව තමන් සමඟම join කරන නිසා, අපි එය නැවත නම් කිරීම සිදු කළ යුතුය:

LEFT JOIN users as sons

දැන් අපට ප්රධාන වගුව සහ නැවත නම් කළ වගුව අතර සම්බන්ධතාවය සඳහන් කළ හැකිය:

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

දැන් අපි ක්ෂේත්ර සඳහන් කරමු:

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

සියල්ල එකට එකතු කර පහත විමසුම ලබා ගනිමු:

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

ප්‍රායෝගික කාර්යයන්

අපට වර්ග කිහිපයක් ඇතැයි සිතන්න. සෑම වර්ගයක්ම මව් වර්ගයකට අයත් විය හැකිය, එය අනුක්‍රමයෙන් තම මව් වර්ගයට අයත් වන අතර එය එසේම ඉදිරියට යයි. ගබඩා කිරීමේ ව්‍යුහය විස්තර කරන්න.

වර්ගයක් එහි මව් වර්ගය සමඟ ලබා ගන්න විමසුමක් ලියන්න.

වර්ගයක් එහි මව් වර්ගය සහ මුතුන් මිත්තන්ගේ වර්ගය සමඟ ලබා ගන්න විමසුමක් ලියන්න.

වර්ගයක් එහි මව් වර්ගය, මුතුන් මිත්තන්ගේ වර්ගය සහ මුතුන් මිත්තන්ගේ මුතුන් මිත්තන්ගේ වර්ගය සමඟ ලබා ගන්න විමසුමක් ලියන්න.

සිංහල
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČ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
අපි වෙබ් අඩවිය ක්‍රියාත්මක කිරීම, විශ්ලේෂණය සහ පුද්ගලීකරණය සඳහා කුකී භාවිතා කරමු. දත්ත සැකසීම සිදුකරනු ලබන්නේ ගෝපනීයතා ප්‍රතිපත්තිය අනුව ය.
සියල්ල පිළිගන්න කොන්දේසි ප්‍රතික්ෂේප කරන්න