Srovnávací graf
Základ pro porovnání | PŘIPOJIT | SVAZ |
---|---|---|
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. |
Stav | JOIN 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. |
Typy | VNĚJŠÍ, PLNÁ (VNĚJŠÍ), LEVÁ JOIN, PRAVÁ PŘIPOJENÍ. | UNION a UNION ALL. |
Účinek | Dé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ů:
- Oba vztahy musí mít stejný počet atributů.
- 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
- 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.
- 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é.
- Existují čtyři typy JOIN INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN. Existují však dva typy UNION, UNION a UNION ALL.
- 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.