Rozdíly mezi levým a pravým spojením

Anonim

Levá a pravá spojení

Pokud se jedná o SQL, spojuje se s běžným názvem, který se objeví každou chvíli. Klauzule spojení pomáhá při kombinaci záznamů z různých tabulek v datové sadě. Spojení ve skutečnosti vytváří tabulku, která může být použita tak, jak je nebo je rozvinutá s ostatními. Proto je vhodné porozumět těmto spojům a rozdílům mezi nimi, abyste poznali konkrétní spojení, a zda by měl být ve zvláštních případech proveden vpravo nebo vlevo.

Chcete-li lépe porozumět spárování a jejich rozdílům, je důležité pochopit typy dostupných spojení. Obecně existují tři typy spojení. Tyto spojky zahrnují vnitřní spoj, křížový spoj a vnější spoj. Vnitřní spoj obecně porovnává tabulky a pouze dá nebo vrátí výsledek v případě, že je nalezena shoda. Hlavním úkolem vnitřního spojení je zmenšení velikosti sady výsledků.

Křížové spoje naproti tomu porovnávají dvě tabulky a poskytují návrat každé kombinace, která pochází z řad obou tabulek. Z tohoto spojení se očekávají četné výsledky a většina z nich nemusí mít smysl. Použití tohoto spojení by proto mělo být prováděno s opatrností.

Externí spojení provede porovnání tabulek a vrátí data, když je k dispozici shoda. Stejně jako je vidět ve vnitřním spoji, vnější spoj duplikuje řádky v dané tabulce v případě, že jsou zaznamenány odpovídající záznamy. Výsledky vnějších spojů jsou obvykle větší a datové soubory jsou velké, protože samotná sada není ze sady odstraněna.

Levý spoj se vztahuje k uchování všech záznamů z 1. tabulky bez ohledu na výsledek a vložení hodnot NULL, když se hodnoty druhé tabulky neodpovídají. Správný spoj se však vztahuje na uchování všech záznamů pocházejících z druhého stolu bez ohledu na to, jaký je výsledek, a použití hodnot NULL, pokud výsledky neodpovídají výsledkům v 1. tabulce.

Levý vnější spoj se tak zachovává všech řádků, které jsou v tabulce "vlevo", bez ohledu na to, zda je na pravé tabulce řada odpovídající. Levý tabulka proto odkazuje na tabulku, která je první ve společném prohlášení. Mělo by se objevit nalevo od klíčového slova "join", které se objevuje na tabulce. Po dokončení levého vnějšího spojení je třeba vrátit všechny řádky zleva. Nevyhovující sloupce v tabulce budou vyplněny hodnotou NULL vždy, když nedojde k žádné shodě.

Je důležité si uvědomit, že při řešení těchto dvou spojů jsou všechny řádky vlevo od tabulky uvedeny v tabulce v levém vnějším spoji. Výsledky se zobrazují bez ohledu na to, zda jsou v pravé tabulce přítomny odpovídající sloupce. V pravém vnějším spoji jsou zobrazeny všechny řádky vpravo a to bez ohledu na to, zda v levém sloupci tabulky existují odpovídající sloupce.

Volba toho, zda jít na levý vnější spoj nebo na pravý vnější spoj, nezáleží na tom, jak jsou zobrazeny stejné výsledky. Funkce, kterou má pravá vnější spojka, má stejnou funkci jako levý vnější spoj. Jednoduchým přepnutím pořadí, ve kterém se tabulky zobrazují v příkazu SQL, můžete očekávat podobné výsledky bez ohledu na použitý spoj.

souhrn

Spojuje se ve třech hlavních skupinách - vnitřní spoj, křížový spoj a vnější spoj

Levý vnější spoj zobrazí všechny řádky vlevo od tabulky

Správný spoj zobrazuje všechny řádky vpravo od tabulky

Střídání sekvence SQL může eliminovat použití pravého i levého vnějšího spoje a místo toho použít pouze jednu.