Ключовата разлика между Inner Join и Natural Join е, че Inner Join предоставя резултата въз основа на съответстващите данни според условието за равенство, посочено в заявката, докато Natural Join предоставя резултата въз основа на колона със същото име и същият тип данни присъства в таблиците, които ще бъдат обединени.
DBMS позволява лесно съхраняване, извличане и манипулиране на данни. Той съхранява данни под формата на таблици. Всяка таблица се състои от редове и колони. Редовете представляват всеки обект, докато колоните представляват атрибутите. Да приемем, че базата данни е студент. Всеки ред представлява ученик. Колоните представляват атрибути като ID, име, клас, възраст. СУБД е колекция от таблици и всяка таблица е свързана с помощта на ограничения като външни ключове. Понякога не е достатъчно да използвате една таблица. Има ситуации, които изискват използването на няколко таблици. За да комбинирате две таблици, поне една колона трябва да е обща. Комбинацията от таблици се нарича съединение.
Какво е вътрешно присъединяване?
Пример за вътрешно присъединяване е както следва. По-долу е таблицата на учениците.
Таблицата student_info е както следва.
За да извършите вътрешно свързване, трябва да има поне едно съвпадение между двете таблици. Идентификаторите 1, 2, 3 са общи за двете таблици. Следователно е възможно да се извърши вътрешно свързване.
Фигура 01: SQL присъединяване
Заявката INNER JOIN за свързване на тези две таблици е както следва.
ИЗБЕРЕТЕот student
INNER JOIN student_info WHERE student.id=student_info.id;
Изпълнението на горната SQL команда ще изведе следната таблица.
Какво е естествено присъединяване?
Пример за естествено присъединяване е както следва. По-долу е таблицата на учениците.
Таблицата student_info е както следва.
За да се извърши естествено свързване, трябва да има колона със същото име и същия тип данни. Колоната id е една и съща за двете таблици. Поради това е възможно естественото съединяване на двете таблици.
Заявката NATURAL JOIN за свързване на тези две таблици е както следва.
SELECTот студент NATURAL JOIN student_info;
Изпълнението на горната SQL команда ще изведе следната таблица.
Каква е връзката между вътрешното присъединяване и естественото присъединяване?
Естественото свързване е вид вътрешно свързване
Каква е разликата между вътрешно и естествено присъединяване?
Вътрешното присъединяване предоставя резултата въз основа на съвпадащите данни според условието за равенство, посочено в заявката, докато естественото присъединяване предоставя резултата въз основа на колона със същото име и същия тип данни, присъстващи в таблиците, които ще бъдат обединени. Освен това синтаксисът на вътрешното съединение и естественото съединение са различни.
Когато таблица1 се състои от идентификатор, име, а таблица2 се състои от идентификатор и град, тогава вътрешното свързване ще даде получената таблица със съвпадащи редове. Ще има id, име, отново id и град. От друга страна, при естествено присъединяване ще даде получената таблица със съвпадащи редове с колони id, име, град.
Резюме – вътрешно присъединяване срещу естествено присъединяване
Ключовата разлика между вътрешното свързване и естественото свързване е, че вътрешното съединение предоставя резултата въз основа на съвпадащите данни според условието за равенство, посочено в SQL заявката, докато естественото свързване предоставя резултата въз основа на колона със същото име и същият тип данни присъства в таблиците, които ще бъдат обединени.