Zalecane, 2024

Wybór Redakcji

Różnica między JOIN i UNION w SQL

JOIN i UNION są klauzulami SQL, używanymi do łączenia danych dwóch lub więcej relacji. Ale sposób, w jaki łączą dane i format uzyskanego wyniku, jest różny. Klauzula JOIN łączy atrybuty dwóch relacji w celu utworzenia wynikowych krotek, podczas gdy klauzula UNION łączy wynik dwóch zapytań. Omówmy różnicę pomiędzy JOIN i UNION, korzystając z tabeli porównawczej pokazanej poniżej.

Wykres porównania

Podstawa do porównaniaPRZYSTĄPIĆUNIA
PodstawowyJOIN łączy atrybuty krotek obecnych w dwóch różnych relacjach, które mają wspólne wspólne pola lub atrybuty.UNION łączy krotki relacji obecnych w zapytaniu.
StanJOIN ma zastosowanie, gdy dwie powiązane relacje mają co najmniej jeden wspólny atrybut.UNION ma zastosowanie, gdy liczba kolumn obecnych w zapytaniu jest taka sama, a odpowiednie atrybuty mają tę samą domenę.
RodzajeWEWNĘTRZNY, PEŁNY (ZEWNĘTRZNY), LEWY DOŁĄCZ, PRAWY DOŁĄCZ.UNION i UNION ALL.
EfektDługość wynikowych krotek jest większa niż długość krotek powiązanych relacji.Liczba wynikowych krotek jest większa niż liczba krotek obecnych w każdej relacji biorącej udział w zapytaniu.
Diagram

Definicja DOŁĄCZ

JOIN klauzula w SQL łączy krotki z dwóch relacji lub tabel, powodując dłuższy rozmiar krotki. Wynikowa krotka zawiera atrybuty z obu relacji. Atrybuty są łączone na podstawie wspólnych atrybutów między nimi. Różne typy JOIN w SQL to INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN.

INNER JOIN łączy krotki z obu tabel, o ile istnieje wspólny atrybut między nimi. LEFT JOIN powoduje, że wszystkie krotki lewego stołu i pasujące krotki z prawego stołu. RIGHT JOIN uzyskuje wszystkie krotki z prawego stołu i tylko pasującą krotkę z lewego stołu. FULL OUTER JOIN powoduje, że wszystkie krotki z obu tabel mają pasujące atrybuty lub nie.

INNER JOIN jest taki sam jak JOIN. Możesz także pominąć słowo kluczowe INNER i po prostu użyć JOIN, aby wykonać INNER JOIN.

Definicja UNION

UNION jest ustawioną operacją w SQL. UNON łączy w sobie wynik dwóch zapytań. Wynik UNION obejmuje krotki z obu relacji obecnych w zapytaniu. Warunki, które muszą być spełnione, przyjmują dwa stosunki UNII:

  1. Te dwie relacje muszą mieć taką samą liczbę atrybutów.
  2. Domeny odpowiedniego atrybutu muszą być takie same.

Istnieją dwa rodzaje UNION: UNION i UNION ALL . Wynik uzyskany za pomocą UNION nie zawiera duplikatów. Z drugiej strony wynik uzyskany przy użyciu UNION ALL zachowuje duplikat.

Kluczowe różnice między JOIN i UNION w SQL

  1. Podstawową różnicą między JOIN i UNION jest to, że JOIN łączy krotki z dwóch relacji, a wynikowe krotki zawierają atrybuty obu relacji. Z drugiej strony UNION łączy w sobie wynik dwóch zapytań SELECT.
  2. Klauzula JOIN ma zastosowanie tylko wtedy, gdy dwie powiązane relacje mają co najmniej jeden atrybut wspólny w obu. Z drugiej strony UNIA ma zastosowanie, gdy dwie relacje mają taką samą liczbę atrybutów, a domeny odpowiadających im atrybutów są takie same.
  3. Dostępne są cztery typy JOIN INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN. Ale są dwa rodzaje UNION, UNION i UNION ALL.
  4. W JOIN wynikowa krotka ma większy rozmiar, ponieważ zawiera atrybuty z obu relacji. Z drugiej strony, w UNII liczba krotek jest zwiększana, w wyniku czego krotka pochodzi zarówno z relacji obecnych w zapytaniu.

Wniosek:

Obie operacje łączenia danych są używane w różnych sytuacjach. JOIN jest używany, gdy chcemy łączyć atrybuty dwóch relacji mających co najmniej jeden atrybut wspólny. UNION jest używany, gdy chcemy połączyć krotki dwóch relacji, które są obecne w zapytaniu.

Top