Levé spojení a levý vnější spoj

Anonim

Levá spojení vlevo vlevo

V SQL se spojení používají pro kombinaci záznamů pocházejících z různých sad dat. Spoj může být buď vnitřní spoj nebo vnější spoj. Vnitřní spoj se vrátí do záznamů, které se shodují v obou tabulkách, na rozdíl od vnějšího spojení, které je protilehlým vnitřním. Vnější spoj se tedy vrátí záznamy, které nemají shody v žádné tabulce. Rozdíly mezi pravým vnějším spojem a levým vnějším spojem jsou popsány níže.

Rozdíly

Jak bylo uvedeno výše, vnitřní spoj vytvoří pouze soubor záznamů, který je přítomen ve dvou tabulkách, které jsou porovnávány. Plná vnější spojka, na druhé straně, je ta, která produkuje úplný soubor všech záznamů přítomných v obou tabulkách ve srovnání. V případě, že neexistují žádné shody, chybějící shody obsahují nulu.

Levý vnější spoj bude obsahovat úplnou sadu záznamů, které pocházejí z první tabulky a odpovídající výsledky budou k dispozici se svými výsledky v odpovídající tabulce. V případě, že neexistují shodné výsledky, pravá strana bude mít nulovou hodnotu. Chcete-li vytvářet záznamy pouze v levé tabulce a nikoliv v pravé tabulce, použije se klauzule "kde".

Chcete-li vytvořit jedinečné záznamy pro tabulku napravo a pro levou stranu, doporučujeme použít úplný vnější spoj. Po provedení úplného vnějšího spojení se klauzule "kde" používá k vyloučení výsledků, které jsou nežádoucí jak z "pravé", tak z "levé" strany. Kartézský spoj lze navíc použít k tomu, aby pomohl spojit všechno doleva a doprava. Někdy to nemusí být to, o co se hledá, ale je to, co se někdy objevuje. Spojení vytvářejí výkonnou datovou sadu, která poskytuje až 16 řádků datových sad, často mnohem víc, než se předpokládá. Přestože získáte velké množství datových sad, jsou tyto spojení extrémně nebezpečné, protože mírná neslučitelnost může ochromit celý systém.

Pokud máte co do činění s projektem, který také usiluje o kompatibilitu serveru Microsoft SQL, pak budou mít výhody vyplývající z použití levého vnějšího spojení. Zpětná sekvence se spouští nejprve s vrácením vnitřních záznamů, následovanými záznamy o připojení vpravo a nakonec spojením levých záznamů. Použití příkazu left join nebo left outer join v prostředí SQL se bude týkat stejného příkazu. To v podstatě znamená, že neexistuje rozdíl, pokud jde o očekávaný výsledek, zda se použije levý spoj nebo levý vnější spoj. Výsledek bude podobný, pokud prostředí není v serveru Microsoft SQL. Vnější klíčové slovo může být použito nebo dokonce vynecháno bez obav, protože se výsledky nijak neliší.

souhrn

Spojení se v SQL používá ke srovnání různých datových sad

Vnitřní spoj vytváří pouze soubor záznamů, který je přítomen ve dvou srovnávaných tabulkách

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

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

Kartézský spoj spojuje levý i pravý prvek tabulky.

Existuje pozoruhodný rozdíl, kdy se při použití serveru Microsoft SQL používá levý spoj a levý vnější spoj

Celkově se použije příkaz left join nebo left outer join, který se týká přesně stejného příkazu. Vzhledem k tomu, že není žádný rozdíl, doporučujeme použít levý vnější spoj.