ძირითადი განსხვავება Inner Join-სა და Natural Join-ს შორის არის ის, რომ Inner Join იძლევა შედეგს შესაბამის მონაცემებზე დაყრდნობით მოთხოვნაში მითითებული თანასწორობის პირობის მიხედვით, ხოლო ბუნებრივი შეერთება იძლევა შედეგს იმავე სახელწოდებით და სვეტის საფუძველზე. მონაცემთა ერთი და იგივე ტიპი წარმოდგენილია შესაერთებელ ცხრილებში.
DBMS საშუალებას გაძლევთ მარტივად შეინახოთ, მოიძიოთ და მანიპულიროთ მონაცემები. ის ინახავს მონაცემებს ცხრილების სახით. თითოეული ცხრილი შედგება სტრიქონებისა და სვეტებისგან. რიგები წარმოადგენს თითოეულ ერთეულს, ხოლო სვეტები წარმოადგენს ატრიბუტებს. ვივარაუდოთ სტუდენტური მონაცემთა ბაზა. თითოეული მწკრივი წარმოადგენს სტუდენტს. სვეტები წარმოადგენს ატრიბუტებს, როგორიცაა ID, სახელი, კლასი, ასაკი. DBMS არის ცხრილების კოლექცია და თითოეული ცხრილი დაკავშირებულია ისეთი შეზღუდვების გამოყენებით, როგორიცაა უცხოური გასაღებები. ზოგჯერ არ არის საკმარისი ერთი მაგიდის გამოყენება. არის სიტუაციები, რომლებიც მოითხოვს მრავალი ცხრილის გამოყენებას. ორი ცხრილის გაერთიანებისთვის, მინიმუმ ერთი სვეტი უნდა იყოს საერთო. ცხრილების კომბინაციას ეწოდება შეერთება.
რა არის შინაგანი შეერთება?
შიდა შეერთების მაგალითი შემდეგია. ქვემოთ მოცემულია სტუდენტური ცხრილი.
სტუდენტის_ინფორმაციის ცხრილი ასეთია.
შიდა შეერთების შესასრულებლად, ორივე მაგიდას შორის უნდა იყოს მინიმუმ ერთი მატჩი. id 1, 2, 3 საერთოა ორივე ცხრილისთვის. ამიტომ შესაძლებელია შიდა შეერთების შესრულება.
სურათი 01: SQL Join
INNER JOIN მოთხოვნა ამ ორი ცხრილის შესაერთებლად არის შემდეგი.
არჩევასტუდენტისგან
INNER JOIN student_info WHERE student.id=student_info.id;
ზემოხსენებული SQL ბრძანების შესრულება გამოვა შემდეგი ცხრილი.
რა არის ბუნებრივი შეერთება?
მაგალითი ბუნებრივი შეერთებისთვის არის შემდეგი. ქვემოთ მოცემულია სტუდენტური ცხრილი.
სტუდენტის_ინფორმაციის ცხრილი ასეთია.
ბუნებრივი შეერთების შესასრულებლად, უნდა არსებობდეს სვეტი იგივე სახელით და იგივე მონაცემთა ტიპით. id სვეტი ორივე ცხრილისთვის იგივეა. აქედან გამომდინარე, შესაძლებელია ამ ორივე ცხრილის ბუნებრივი შეერთება.
NATURAL JOIN მოთხოვნა ამ ორი ცხრილის შესაერთებლად არის შემდეგი.
SELECTსტუდენტისგან NATURAL JOIN student_info;
ზემოხსენებული SQL ბრძანების შესრულება გამოვა შემდეგი ცხრილი.
რა კავშირია შიდა შეერთებასა და ბუნებრივ შეერთებას შორის?
ნატურალური შეერთება არის შიდა შეერთების ტიპი
რა განსხვავებაა შიდა შეერთებასა და ბუნებრივ შეერთებას შორის?
შიდა შეერთება იძლევა შედეგს შესაბამის მონაცემებზე დაფუძნებული მოთხოვნაში მითითებული თანასწორობის პირობის მიხედვით, ხოლო ბუნებრივი შეერთება იძლევა შედეგს შესაერთებელ ცხრილებში მოცემული იმავე სახელწოდებითა და იგივე მონაცემთა ტიპის სვეტის საფუძველზე. უფრო მეტიც, შიდა შეერთებისა და ბუნებრივი შეერთების სინტაქსი განსხვავებულია.
როდესაც ცხრილი1 შედგება id-ისგან, სახელისაგან და ცხრილი2 შედგება id-ისგან და ქალაქისგან, მაშინ შიდა შეერთება მისცემს შედეგად ცხრილს შესაბამისი რიგებით. მას ექნება ID, სახელი, ისევ ID და ქალაქი. მეორეს მხრივ, ბუნებრივ შეერთებაში, მიიღება მიღებული ცხრილი შესაბამისი სტრიქონებით სვეტების ID, სახელი, ქალაქი.
შეჯამება – შინაგანი შეერთება ბუნებრივთან შეერთების წინააღმდეგ
ძირითადი განსხვავება შიდა შეერთებასა და ბუნებრივ შეერთებას შორის არის ის, რომ შიდა შეერთება იძლევა შედეგს შესაბამის მონაცემებზე დაყრდნობით SQL მოთხოვნაში მითითებული თანასწორობის პირობის მიხედვით, ხოლო ბუნებრივი შეერთება იძლევა შედეგს იმავე სახელწოდების სვეტის საფუძველზე. და იგივე მონაცემთა ტიპი წარმოდგენილია შესაერთებელ ცხრილებში.