Rozdíl mezi levým a levým vnějším spojením

Levé spojení vs Levé vnější připojení

V SQL se spojení používají pro kombinaci záznamů přicházejících z různých sad dat. Spoj může být buď vnitřní spoj, nebo vnější spoj. Vnitřní spojení vrátí záznamy, které mají shodné hodnoty v obou tabulkách, na rozdíl od vnějšího spojení, které je opakem vnitřního spojení. Vnější spojení proto vrací ty záznamy, které nemají shodné hodnoty ani v jedné tabulce. Rozdíly mezi pravým vnějším spojem a levým vnějším spojem jsou diskutovány níže.

Rozdíly

Jak bylo uvedeno výše, vnitřní spojení vytvoří pouze sadu záznamů, které jsou přítomny ve dvou srovnávaných tabulkách. Na druhé straně úplné vnější spojení je takové, které vytváří úplnou sadu všech záznamů přítomných v obou srovnávaných tabulkách. V případě, že neexistují žádné shody, budou chybějící shody obsahovat null.

Levé vnější spojení bude obsahovat úplnou sadu záznamů, které pocházejí z první tabulky a odpovídající výsledky budou k dispozici s výsledky v odpovídající tabulce. V případě, že neexistují žádné odpovídající výsledky, bude pravá strana obsahovat nulovou hodnotu. Chcete-li vytvořit záznamy pouze v levé tabulce a nikoli ve správné tabulce, do hry vstupuje klauzule 'where'.

Chcete-li vytvořit jedinečné záznamy pro tabulku vpravo a pro tabulku vlevo, doporučuje se použít úplné vnější spojení. Po provedení úplného vnějšího spojení se doložka „kde“ používá k vyloučení výsledků, které jsou nežádoucí jak z „pravé“, tak „levé“ strany. Kartesiánské spojení může být navíc použito ke spojení všeho vlevo a vpravo. To občas nemusí být to, co je hledáno, ale je to, co se někdy objevuje. Spojení produkují výkonnou datovou sadu, která dává až 16 řádků datových sad, často mnohem více, než se očekávalo. Přestože získáte obrovské množství datových sad, jsou tyto spoje extrémně nebezpečné, protože mírná nekompatibilita může ochromit celý systém.

Pokud se jedná o projekt, který také usiluje o kompatibilitu serveru Microsoft SQL, budou výhody plynoucí z použití levého vnějšího spojení. Návratová sekvence začíná prvními vnitřními záznamy, poté pravými spojovacími záznamy a nakonec spojením levých záznamů. Použití příkazu levého spojení nebo levého vnějšího spojení v prostředí SQL bude odkazovat na přesně stejný příkaz. To v podstatě znamená, že neexistuje žádný rozdíl, pokud jde o očekávaný výsledek, zda je použit levý spoj nebo levý vnější spoj. Výsledek bude podobný, pokud není prostředí v serveru Microsoft SQL. Vnější klíčové slovo lze bez obav použít nebo dokonce vynechat, protože výsledky se nijak neliší.

souhrn

Spojení se v SQL používají k porovnání různých sad dat

Vnitřní spojení vytváří pouze sadu záznamů, které jsou přítomny ve dvou srovnávaných tabulkách

Vnější spojení vytvoří kompletní sadu všech záznamů přítomných v obou studovaných tabulkách

Klauzule 'where' použitá k vytvoření jedinečných záznamů po použití úplného spojení

Karteziánské spojení spojuje levý i pravý prvek tabulky.

Tam je pozoruhodný rozdíl kde levý spoj a levý vnější spoj použitý při použití Microsoft SQL server

Celkově vzato, použití příkazu levého spojení nebo levého vnějšího spojení odkazuje na přesně stejný příkaz. Protože neexistuje žádný rozdíl, doporučuje se použít levý vnější spoj.