სხვაობა შიდა შეერთებასა და გარე შეერთებას შორის

სხვაობა შიდა შეერთებასა და გარე შეერთებას შორის
სხვაობა შიდა შეერთებასა და გარე შეერთებას შორის

ვიდეო: სხვაობა შიდა შეერთებასა და გარე შეერთებას შორის

ვიდეო: სხვაობა შიდა შეერთებასა და გარე შეერთებას შორის
ვიდეო: ეკჰარტ ტოლე - "აწმყოს ძალა" - აუდიო წიგნი. 2024, ივლისი
Anonim

შიდა შეერთება vs გარე შეერთება

შიდა შეერთება და გარე შეერთება არის SQL შეერთების ორი მეთოდი, რომელიც გამოიყენება მონაცემთა ბაზებისთვის შეკითხვის დამუშავებისას. ისინი მიეკუთვნებიან შეერთების პუნქტების ოჯახს (სხვა ორი არის მარცხენა და მარჯვენა შეერთება). თუმცა, არსებობს Self Join, რომელიც შეიძლება გამოყენებულ იქნას სპეციალიზებულ სიტუაციებში. Join-ის მიზანია ველების გაერთიანება ორი ცხრილისთვის საერთო მნიშვნელობების გამოყენებით. ეს შეერთებები აერთიანებს ჩანაწერებს მონაცემთა ბაზაში მრავალი ცხრილიდან. ის ქმნის შედეგიან კომპლექტს, რომელიც შეიძლება შეინახოს სხვა ცხრილად.

რა არის შინაგანი შეერთება?

ყველაზე ხშირად გამოყენებული SQL Join ოპერაცია არის Inner Join.ის შეიძლება ჩაითვალოს აპლიკაციებში გამოყენებული შეერთების ნაგულისხმევ ტიპად. შიდა შეერთება გამოიყენეთ შეერთება-პრედიკატი ორი ცხრილის გასაერთიანებლად. თუ ვივარაუდებთ, რომ ორი ცხრილი არის A და B, მაშინ შეერთება-პრედიკატი შეადარებს A და B სტრიქონებს, რათა გაარკვიოს ყველა წყვილი, რომელიც აკმაყოფილებს პრედიკატს. A და B ცხრილების ყველა დაკმაყოფილებული მწკრივის სვეტების მნიშვნელობები გაერთიანებულია შედეგის შესაქმნელად. ის შეიძლება ჩაითვალოს, როგორც ჯერ ყველა ჩანაწერის ჯვარედინი შეერთების (კარტეზიული ნაწარმოების) აღება და შემდეგ მხოლოდ იმ ჩანაწერების დაბრუნება, რომლებიც აკმაყოფილებენ შეერთების პრედიკატს. თუმცა, რეალურად, დეკარტის პროდუქტი არ არის გათვლილი, რადგან ის ძალიან არაეფექტურია. ამის ნაცვლად გამოიყენება ჰეშ შეერთება ან დალაგების შერწყმა.

რა არის გარე შეერთება?

განსხვავებით, შიდა შეერთება, გარე შეერთება ინახავს ყველა ჩანაწერს მაშინაც კი, თუ შესატყვისი ჩანაწერი ვერ პოულობს. ეს ნიშნავს, რომ გარე შეერთებას სჭირდება ჩანაწერი შესატყვისი ჩანაწერის მოსაძებნად, რათა ის გამოჩნდეს შედეგში. ამის ნაცვლად, ის დააბრუნებს ყველა ჩანაწერს, მაგრამ შეუსაბამო ჩანაწერებს ექნება ნულოვანი მნიშვნელობები. გარე შეერთებები იყოფა სამ ქვეკატეგორიად.ისინი დარჩა გარე შეერთება, მარჯვენა გარე შეერთება და სრული გარე შეერთება. ეს დიფერენციაცია ეფუძნება ცხრილის რომელი მწკრივი (მარცხენა ცხრილი, მარჯვენა ცხრილი ან ორივე ცხრილი) შენარჩუნებულია შეუსაბამო ჩანაწერების აღმოჩენისას. მარცხენა გარე შეერთება (ასევე ცნობილია როგორც უბრალოდ მარცხენა შეერთება) ინარჩუნებს მარცხენა ცხრილის ყველა ჩანაწერს. ეს ნიშნავს, რომ რიცხვის შესატყვისი ჩანაწერების ნულიც რომ იყოს, მას მაინც ექნება ჩანაწერები შედეგების ცხრილში, მაგრამ ექნება ნულოვანი მნიშვნელობები B-ის ყველა სვეტისთვის. სხვა სიტყვებით რომ ვთქვათ, მარცხენა ცხრილის ყველა მნიშვნელობა ბრუნდება შესაბამისი მნიშვნელობებით მარჯვნივ. ცხრილი (ან ნულოვანი მნიშვნელობები, როდესაც შეუსაბამოა). თუ მარცხენა ცხრილის მრავალი მწკრივის მნიშვნელობები შეესაბამება მარჯვენა ცხრილის ერთ მწკრივს, მწკრივი მარჯვენა ცხრილიდან განმეორდება საჭიროებისამებრ. მარჯვენა გარე შეერთება საკმაოდ ჰგავს მარცხენა გარე შეერთებას, მაგრამ ცხრილების დამუშავება პატივს სცემს. ეს ნიშნავს, რომ შედეგს ექნება მარჯვენა ცხრილის ყველა მწკრივი ერთხელ მაინც, მარცხენა ცხრილის შესაბამისი მნიშვნელობებით (და ნულოვანი მნიშვნელობები შეუსაბამო მარჯვენა მნიშვნელობებისთვის). სრული გარე შეერთება უფრო ყოვლისმომცველია, ვიდრე მარცხენა და მარჯვენა გარე შეერთება.ეს იწვევს მარცხნივ და მარჯვენა გარე შეერთების ეფექტის გაერთიანებას.

რა განსხვავებაა შიდა და გარე შეერთებას შორის?

შიდა შეერთება არ ინახავს შეუსაბამო რიგებს შედეგში, მაგრამ გარე შეერთება ინახავს ყველა ჩანაწერს მინიმუმ ერთი ცხრილიდან (დამოკიდებულია იმაზე, თუ რომელი გარე შეერთება იქნა გამოყენებული). ასე რომ, შედეგების ცხრილის შეუსაბამო მწკრივებზე ინფორმაციის არარსებობის ქცევა არასასურველია, თქვენ ყოველთვის უნდა გამოიყენოთ ერთ-ერთი გარე შეერთება (შიდა შეერთების ადგილას). შიდა შეერთებამ შეიძლება შედეგი არ გამოიღოს, თუ შესატყვისები არ არის ნაპოვნი. მაგრამ გარე შეერთება ყოველთვის წარმოქმნის შედეგს ცხრილს, თუნდაც შესაბამისი რიგების გარეშე. შიდა შეერთება ყოველთვის დააბრუნებს ცხრილებს მნიშვნელობებით (თუ დაბრუნდა). მაგრამ გარე შეერთებამ შეიძლება გამოიწვიოს ცხრილები ნულოვანი მნიშვნელობებით.

გირჩევთ: