Doporučená, 2024

Redakce Choice

Rozdíl mezi JOIN a UNION v SQL

JOIN a UNION jsou klauzule v SQL, používané ke spojení dat dvou nebo více vztahů. Způsob, jakým kombinují data a formát získaných výsledků, se však liší. Klauzule JOIN kombinuje atributy dvou vztahů, aby vytvořily výsledné n-tice, zatímco klauzule UNION kombinuje výsledek dvou dotazů. Pojďme diskutovat rozdíl mezi JOIN a UNION pomocí srovnávací tabulky uvedené níže.

Srovnávací graf

Základ pro porovnáníPŘIPOJITSVAZ
ZákladníJOIN kombinuje atributy n-tic přítomných ve dvou různých vztazích, které sdílejí některá společná pole nebo atributy.UNION kombinuje n-tice vztahů, které jsou přítomny v dotazu.
StavJOIN je použitelný, pokud mají dva zúčastněné vztahy alespoň jeden společný atribut.UNION je použitelný, pokud počet sloupců přítomných v dotazu je stejný a odpovídající atributy mají stejnou doménu.
TypyVNĚJŠÍ, PLNÁ (VNĚJŠÍ), LEVÁ JOIN, PRAVÁ PŘIPOJENÍ.UNION a UNION ALL.
ÚčinekDélka výsledných n-tic je více ve srovnání s délkou n-tic zapojených vztahů.Počet výsledných n-tic je více ve srovnání s počtem n-tic přítomných v každém vztahu zahrnutém v dotazu.
Diagram

Definice JOIN

Klauzule JOIN v SQL kombinuje n-tice ze dvou vztahů nebo tabulek, což má za následek delší velikost n-tice. Výsledná n-tice obsahuje atributy z obou vztahů. Atributy jsou kombinovány na základě společných atributů mezi nimi. Různé typy JOIN v SQL jsou INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN.

INNER JOIN kombinuje n-tice z obou tabulek, pokud mezi nimi existuje společný atribut. Výsledkem LEFT JOIN jsou všechny n-tice levé tabulky a odpovídající n-tice z pravé tabulky. Výsledkem RIGHT JOIN jsou všechny n-tice z pravé tabulky a pouze odpovídající n-tice z levé tabulky. FULL OUTER JOIN má za následek všechny n-tice z obou tabulek, i když mají odpovídající atributy.

INNER JOIN je stejné jako JOIN. Můžete také zrušit klíčové slovo INNER a jednoduše použít funkci JOIN k provedení funkce INNER JOIN.

Definice UNION

UNION je nastavená operace v SQL. UNON kombinuje výsledek dvou dotazů. Výsledek UNION zahrnuje n-tice z obou vztahů přítomných v dotazu. Podmínky, které musí být splněny, jsou UNION dvou vztahů:

  1. Oba vztahy musí mít stejný počet atributů.
  2. Domény odpovídajícího atributu musí být stejné.

Existují dva typy UNION, které jsou UNION a UNION ALL . Výsledek získaný pomocí UNION neobsahuje duplikáty. Na druhé straně, výsledek získaný pomocí UNION ALL si ponechá duplikát.

Klíčové rozdíly mezi JOIN a UNION v SQL

  1. Primární rozdíl mezi JOIN a UNION je to, že JOIN kombinuje n-tice ze dvou vztahů a výsledné n-tice obsahují atributy z obou vztahů. Na druhou stranu UNION kombinuje výsledek dvou dotazů SELECT.
  2. Klauzule JOIN je použitelná pouze v případě, že tyto dva vztahy mají alespoň jeden atribut společný v obou. Na druhé straně, UNION je použitelný, když dva vztahy mají stejný počet atributů a domény odpovídajících atributů jsou stejné.
  3. Existují čtyři typy JOIN INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN. Existují však dva typy UNION, UNION a UNION ALL.
  4. V JOIN má výsledná n-tice větší velikost, protože obsahuje atributy z obou vztahů. Na druhou stranu se v UNIONu zvyšuje počet n-tic jako výsledek, včetně n-tice z obou vztahů přítomných v dotazu.

Závěr:

Obě operace operace dat jsou používány v různých situacích. JOIN se používá, když chceme kombinovat atributy dvou vztahů, které mají alespoň jeden atribut společný. UNION se používá, když chceme kombinovat n-tice dvou vztahů, které jsou v dotazu přítomny.

Top