რა არის SQL-ში მარცხენა შეუერთება (left join)?
sobes.tech AI
პასუხი AI-სგან
ლევი შეუერთება (LEFT JOIN ან LEFT OUTER JOIN) SQL-ში გამოიყენება ორი ცხრილის რიგების გაერთიანებისთვის.
LEFT JOIN-ის შედეგი მოიცავს:
- ყველა რიგს მარცხენა (პირველი) ცხრილიდან.
- შესაბამის რიგებს მარჯვენა (მეორე) ცხრილიდან, სადაც შეესაბამება პირობებს.
- მარცხენა ცხრილის რიგებისთვის, რომლებსაც არ აქვთ შესაბამისობა მარჯვენაში, მარჯვენა ცხრილის სვეტები შეიცავს
NULLმნიშვნელობებს.
სინტაქსის მაგალითი:
SELECT <სვეტების სია>
FROM <მარცხენა ცხრილი> AS L
LEFT JOIN <მარჯვენა ცხრილი> AS R ON L.<შეერთების სვეტი> = R.<შეერთების სვეტი>;
მუშაობის სქემა:
მცდელობა ხდება მარცხენა ცხრილის თითოეული რიგის. თითოეული რიგისთვის ეძებება შესაბამისობა მარჯვენა ცხრილში ON პირობით:
- თუ შესაბამისობა იპოვეს, მარცხენა რიგი იკვრება მარჯვენა ცხრილის ყველა შესაბამისი რიგისთან:
- თუ შესაბამისობა არ იპოვეს, მარცხენა რიგი შედის შედეგში, ხოლო მარჯვენა სვეტები ივსება
NULL-ით:
ვიზუალური წარმოდგენა:
წარმოიდგინეთ ორი მონაცემთა ნაკადი: Left (მარცხენა ცხრილი) და Right (მარჯვენა ცხრილი). LEFT JOIN აბრუნებს ყველა ელემენტს Left-დან, ასევე იმ ელემენტებს Right-დან, რომლებსაც აქვთ შესაბამისობა Left-ში. თუ Left-ში არიან ელემენტები, რომლებსაც არ აქვთ შესაბამისობა Right-ში, ისინი მაინც შედიან შედეგში, მაგრამ მათი შესაბამისი ველები Right-დან იქნება ცარიელი (NULL).
შედარება სხვა JOIN ტიპებთან:
| JOIN ტიპი | აღწერა |
|---|---|
| INNER JOIN | აბრუნებს მხოლოდ იმ რიგებს, სადაც არის შესაბამისობა ორივე ცხრილში. |
| LEFT JOIN | აბრუნებს ყველა რიგს მარცხენა ცხრილიდან და შესაბამისს მარჯვენიდან. თუ არ არის შესაბამისობა, ივსება NULL-ით. |
| RIGHT JOIN | აბრუნებს ყველა რიგს მარჯვენა ცხრილიდან და შესაბამისს მარცხნიდან. თუ არ არის შესაბამისობა, ივსება NULL-ით. |
| FULL OUTER JOIN | აბრუნებს ყველა რიგს, თუ არის შესაბამისობა ან არა. NULL-ით ივსება არა შესაბამისი რიგები. |
ასე რომ, LEFT JOIN სასარგებლოა, როდესაც გსურთ მიიღოთ სრული სია ერთ ცხრილიდან და დაამატოთ ინფორმაცია მეორე ცხრილიდან, მიუხედავად იმისა, რომ ყველა ჩანაწერისთვის არ არსებობს შესაბამისი მონაცემები.