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

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

Разлика между JOIN и UNION в SQL

JOIN и UNION са клаузите в SQL, използвани за комбиниране на данните от две или повече отношения. Но начинът, по който съчетават данните и формата на получения резултат, е различен. Клаузата JOIN комбинира атрибутите на две отношения, за да образуват резултантните кортежи, докато клаузата UNION комбинира резултата от две заявки. Нека обсъдим разликата между JOIN и UNION с помощта на таблицата за сравнение, показана по-долу.

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

Основа за сравнениеПРИСЪЕДИНИТЕСЪЮЗ
ОсновенJOIN комбинира атрибутите на tuples, налични в двете различни отношения, които споделят някои общи полета или атрибути.UNION комбинира кортежите от отношенията, които присъстват в заявката.
състояниеJOIN е приложим, когато двете свързани отношения имат поне един общ атрибут.UNION е приложим, когато броят на колоните, представени в заявката, са същите и съответните атрибути имат същия домейн.
ВидовеВЪТРЕШНО, ПЪЛНО (ВЪНШНО), НАЛЯВО СВЪРЗВАНЕ, НАДЯСНО JOIN.UNION и UNION ALL.
ефектДължината на получените кортежи е по-голяма в сравнение с дължината на кортежите на включените отношения.Броят на получените кортежи е повече в сравнение с броя на кортежите, присъстващи във всяка връзка, включени в заявката.
Диаграма

Определение на JOIN

JOIN клауза в SQL комбинира tuples от две отношения или таблици, което води до по-дълъг tuple размер. Крайният резултат съдържа атрибути от двете отношения. Атрибутите се комбинират въз основа на общите атрибути между тях. Различните типове JOIN в SQL са INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN.

INNER JOIN комбинира кортежите от двете маси, стига да има обща характеристика между двете. LEFT JOIN води до всички кортежи на лявата маса и съответства на tuple от дясната таблица. RIGHT JOIN води до всички tuples от дясната таблица и съвпада само tuple от лявата маса. FULL OUTER JOIN води до всички кортежи от двете таблици, въпреки че те имат съответстващи атрибути или не.

INNER JOIN е същата като JOIN. Можете също да изпуснете ключовата дума INNER и просто да използвате JOIN, за да изпълните INNER JOIN.

Определение на UNION

UNION е набор операция в SQL. UNON комбинира резултата от две заявки. Резултатът от UNION включва кортежите от двете отношения, присъстващи в заявката. Условията, които трябва да бъдат изпълнени, са UNION на две отношения:

  1. Двете отношения трябва да имат еднакъв брой атрибути.
  2. Домените на съответния атрибут трябва да бъдат еднакви.

Съществуват два вида UNION, които са UNION и UNION ALL . Резултатът, получен чрез UNION, не включва дубликати. От друга страна, резултатът, получен чрез UNION ALL, запазва дубликата.

Ключови разлики между JOIN и UNION в SQL

  1. Основната разлика между JOIN и UNION е, че JOIN комбинира кортежите от две отношения и резултантните кортежи включват атрибути от двете отношения. От друга страна, UNION съчетава резултата от две SELECT запитвания.
  2. Клаузата JOIN е приложима само когато двете участващи отношения имат поне един атрибут, който е обикновен в двата. От друга страна, UNION е приложим, когато двата отношения имат еднакъв брой атрибути и домейните на съответните атрибути са еднакви.
  3. Има четири вида JOIN INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN. Но има два вида UNION, UNION и UNION ALL.
  4. В JOIN полученият кортеж има по-голям размер, тъй като включва атрибути от двете отношения. От друга страна, в UNION броят на кортежите се увеличава, в резултат на това се включва кортежа от двете отношения, присъстващи в заявката.

Заключение:

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

Top