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

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

ვიდეო: რა განსხვავებაა SQL-ში შეერთებასა და გაერთიანებას შორის?
ვიდეო: Difference between JOIN and UNION with Example 2024, დეკემბერი
Anonim

კავშირში , სვეტები არ არის გაერთიანებული შედეგების შესაქმნელად, რიგები გაერთიანებულია. ორივე უერთდება და გაერთიანებები შეიძლება გამოყენებულ იქნას ერთი ან მეტი ცხრილის მონაცემების ერთ შედეგში გაერთიანებისთვის. ორივე დადის ამაზე განსხვავებული გზები. ვინაიდან ა შეუერთდი გამოიყენება სვეტების გაერთიანებისთვის განსხვავებული მაგიდები, გაერთიანება გამოიყენება რიგების გაერთიანებისთვის.

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

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

დამატებით, რისი გამოყენება შეიძლება SQL-ში კავშირის ნაცვლად? კავშირის SQL ოპერატორის რამდენიმე ალტერნატივა არსებობს:

  • გამოიყენეთ UNION ALL.
  • შეასრულეთ თითოეული SQL ცალკე და შეაერთეთ და დაალაგეთ შედეგების ნაკრები თქვენს პროგრამაში!
  • შეუერთდით მაგიდებს.
  • ვერსიებში, 10 გ და მეტი, შეისწავლეთ MODEL პუნქტი.
  • გამოიყენეთ სკალარული ქვემოთხოვნა.

ანალოგიურად, ადამიანები კითხულობენ, რა არის უფრო სწრაფი შეერთება ან გაერთიანება?

ერთი SELECT გამოიყენებს არაუმეტეს ერთი ინდექსს თითო ცხრილში. ა გაერთიანება გამოიყენებს არაუმეტეს ერთ ინდექსს თითო SELECT-ში გაერთიანება . მაშასადამე, ეს უკანასკნელი უკეთ გამოიყენებს ინდექსებს, როგორც ჩანს „გამოყენების ინდექსი“ბევრ ადგილას მის EXPLAIN-ში. ისე რასაც ამბობ გაერთიანებები მათი ბუნებით ნამდვილად არიან უფრო სწრაფად ვიდრე JOIN-ები.

სრული გარე შეერთება შლის დუბლიკატებს?

Როდესაც გაწევრიანების ორი ცხრილი გამოყენებით " სრული გარე შეერთებები “, შედეგი ექნება დუბლიკატი სვეტები. მაგალითად, თუ სვეტის შესატყვისი არის "თარიღი", მაშინ შედეგის მონაცემთა ნაკრები იქნება სვეტი "თარიღი" და "თარიღი_1". მარცხნივ გარე შეერთება ან შინაგანი შეუერთდი , ჩვენ შეგვიძლია უბრალოდ გამოვიყენოთ "სვეტების შერჩევა". ამოღება The დუბლირებული სვეტები.

გირჩევთ: