Rozdíl mezi JOIN a UNION v SQL
Obsah
JOIN a UNION jsou klauzule v SQL, které se používají ke kombinování dat dvou nebo více vztahů. Způsob, jakým kombinují data a formát dosaženého výsledku, se však liší. PŘIPOJIT klauzule kombinuje atributy dvou vztahů a vytváří výsledné n-tice, zatímco, UNIE Klauzule kombinuje výsledek dvou dotazů. Pojďme diskutovat o rozdílu mezi JOIN a UNION pomocí srovnávací tabulky níže.
- Srovnávací tabulka
- Definice
- Klíčové rozdíly
- Závěr
Srovnávací tabulka
Základ pro srovnání | PŘIPOJIT | UNIE |
---|---|---|
Základní | JOIN kombinuje atributy n-tic přítomných ve dvou různých vztazích, které sdílejí některá běžná pole nebo atributy. | UNION kombinuje n-tice vztahů, které jsou v dotazu přítomny. |
Stav | JOIN je použitelný, pokud mají oba zúčastněné vztahy alespoň jeden společný atribut. | UNION je použitelný, když počet sloupců přítomných v dotazu je stejný a odpovídající atributy mají stejnou doménu. |
Typy | VNITŘNÍ, PLNÉ (VNĚJŠÍ), LEVÉ PŘIPOJENÍ, PRAVÉ SPOJENÍ | UNIE a UNION ALL. |
Účinek | Délka výsledných n-tic je větší 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é relaci zapojené do dotazu. |
Diagram |
|
Definice JOIN
PŘIPOJIT Klauzule 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 relací. Atributy jsou kombinovány na základě společných atributů mezi nimi. Různé typy JOIN v SQL jsou VNITŘNÍ PŘIPOJENÍ, LEVÝ PŘIPOJENÍ, PRAVÝ PŘIPOJENÍ, PLNÝ VNĚJŠÍ PŘIPOJENÍ.
VNITŘNÍ SPOJENÍ kombinuje n-tice z obou tabulek, pokud mezi nimi existuje společný atribut. LEVÝ PŘIPOJENÍ výsledkem jsou všechny n-tice levé tabulky a odpovídající n-tice z pravé tabulky. PRAVÝ PŘIPOJENÍ výsledkem jsou všechny n-tice z pravé tabulky a pouze odpovídající n-tice z levé tabulky. PLNÝ VNĚJŠÍ PŘIPOJENÍ výsledky ve všech n-ticích z obou tabulek, i když mají odpovídající atributy nebo ne.
VNITŘNÍ PŘIPOJENÍ je stejné jako PŘIPOJENÍ. Můžete také zrušit klíčové slovo INNER a jednoduše použít JOIN k provedení INNER JOIN.
Definice UNIE
UNION je sada operací 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, berou v úvahu unii 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 unií UNIE a UNION ALL. Výsledek získaný pomocí UNION nezahrnuje duplikáty. Na druhé straně si výsledek získaný pomocí UNION ALL zachovává duplikát.
- Primární rozdíl mezi JOIN a UNION spočívá v tom, ž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 SELECT dotazů.
- Klauzule JOIN je použitelná pouze tehdy, mají-li oba zúčastněné vztahy alespoň jeden společný atribut. Na druhou stranu je UNION použitelný, pokud mají oba vztahy stejný počet atributů a domény odpovídajících atributů jsou stejné.
- K dispozici jsou čtyři typy VNITŘNÍHO PŘIPOJENÍ, VLEČNÝ PŘIPOJENÍ, PRAVÝ PŘIPOJENÍ, PLNÝ VNĚJŠÍ PŘIPOJENÍ. Existují však dva typy UNIE, UNIE a UNION ALL.
- V JOIN má výsledná n-tice větší velikost, protože zahrnuje atributy z obou relací. Na druhou stranu v UNION se počet n-tic zvyšuje, což zahrnuje n-tici z obou vztahů přítomných v dotazu.
Závěr:
Obě operace kombinující data se používají v různých situacích. JOIN se používá, když chceme kombinovat atributy dvou vztahů, které mají alespoň jeden společný atribut. UNION se používá, když chceme kombinovat n-tice dvou vztahů, které jsou v dotazu.