Препоръчано, 2024

Избор На Редактора

Разлика между вътрешно присъединяване и външно присъединяване в SQL

Вътрешното присъединяване и външното присъединяване са двата вида Присъединяване. Присъединяването сравнява и комбинира кортежите от две отношения или таблици. Вътрешното свързване определя естественото присъединяване, т.е. ако напишете клауза за присъединяване без ключова дума, тогава тя изпълнява естествената операция на свързване. Потенциалната разлика между Вътрешното присъединяване и Външното присъединяване е, че Вътрешното присъединяване връща само съвпадащите кортежи от двете таблици и Външното присъединяване връща всички кортежи от двете сравнени таблици. Нека да обсъдим някои други различия между Inner Join и Outer Join с помощта на таблицата за сравнение, показана по-долу.

Сравнителна таблица

Основа за сравнениеВътрешно присъединяванеOuter Join
ОсновенInner Join извежда само съвпадащите кортежи от двете таблици.Outer Join показва всички куки от двете таблици.
База данниРазмерът на потенциала на базата данни, върнат от Inner Join, е сравнително по-малък от Outer Join.Външната връзка се връща сравнително по-голяма база данни.
ВидовеНяма видове.Ляво Външно присъединяване,
Право Outer Join,
и Full Outer Join.

Дефиниция на вътрешно присъединяване

Вътрешното присъединяване се нарича още Естествено присъединяване. Вътрешното свързване сравнява две таблици и комбинира съвпадение в двете таблици. Той също се нарича като тип по подразбиране на join, тъй като Join клаузата е написана без вътрешната ключова дума, която изпълнява естественото присъединяване. Ако клаузата за присъединяване е написана без външна ключова дума, тогава се извършва и вътрешно свързване.

Вътрешното присъединяване може да бъде обяснено с пример. Има две таблици за ученици и таблица на отдела. Сега ни позволява да разберем какво прави вътрешното присъединяване.

SELECT Име, Sem, Deparment_name ОТ Студент INNER JOIN Отдел ON Student.Department_ID = Department.ID.

Можете да видите, че само тези кортежи са получени в резултатното където Student.Department_ID = Department.ID. Следователно, можем да кажем, че Вътрешното присъединяване комбинира само съвпадащата двойка от две таблици.

Определение на външното присъединяване

За разлика от Inner Join, само тези кортежи се извеждат с еднакви стойности на атрибути в двете сравнявани таблици; Outer Join извежда всички набори от двете таблици. Външното присъединяване е от три вида ляво външно присъединяване, дясно външно присъединяване и пълно външно присъединяване .

Нека ги разберем един по един. Първо, нека вземем Left Outer Join.

Изберете Име, Име на Департамент От Учебен Ляв Външен Отдел Присъединяване към Студент.Департамент_ID = Depoartment.ID.

Можете да видите, че всички резултати от Student Table се показват в резултата.

Изберете Име, Име на Департамента От Отдел Право Външно Присъединете се към Студент. Студент.Департамент_ID = Depoartment.ID.

Можете да видите, че са показани всички кортежи от таблицата на отдела.

Изберете Име, Име на Департамента От Отдел Въвеждане на Студент Пълен Външен Студент.Департамент_ID = Depoartment.ID.

Можете да забележите, че всички резултати от двете таблици се показват в резултата.

Ключови разлики между вътрешно присъединяване и външно присъединяване

  1. Основната разлика между Вътрешното присъединяване и Външното присъединяване е, че вътрешното присъединяване сравнява и комбинира само съвпадащите кортежи от таблиците. От друга страна, Outer Join сравнява и комбинира всички tuples от двете таблици, които се сравняват.
  2. Размерът на базата данни на получения резултат от Вътрешното присъединяване е по-малък, отколкото Външното присъединяване.
  3. Съществуват три вида на Outer Join Left Outer Join, Righ Outer Join и Full Outer Join. Но вътрешното присъединяване няма такива типове.

Заключение:

И двете обединения са много полезни. Използването зависи от изискването на потребителя.

Top