Rozdiely medzi ľavým a pravým spojením

Ľavé vs pravé pripojenie

Pri práci s SQL je spojenie bežné meno, ktoré sa objaví tu a tam. Klauzula join pomáha pri kombinovaní záznamov z rôznych tabuliek v množine údajov. Spojenie v skutočnosti vytvára tabuľku, ktorú je možné použiť tak, ako je, alebo ju možno rozbaliť s ostatnými. Preto je vhodné porozumieť týmto spojom a rozdielom medzi nimi, aby bolo možné poznať konkrétny spoj a či by sa v osobitných prípadoch malo pristúpiť k pravici alebo ľavici..

Pre lepšie porozumenie spojenia a ich rozdielov je dôležité porozumieť dostupným typom spojení. Všeobecne existujú tri typy spojení. Medzi tieto spoje patrí vnútorný spoj, krížový spoj a vonkajší spoj. Vnútorné spojenie zvyčajne porovnáva tabuľky a výsledok poskytne alebo vráti iba v prípade, že sa nájde zhoda. Hlavnou funkciou vnútorného spojenia je zmenšiť veľkosť množín výsledkov.

Krížové spojenia na druhej strane porovnávajú dve tabuľky a poskytujú návratnosť každej možnej kombinácie pochádzajúcej z radov oboch tabuliek. Od tohto spojenia sa očakáva veľa výsledkov a väčšina z nich nemusí mať zmysel. Použitie tohto spojenia by sa preto malo praktizovať opatrne.

Vonkajšie spojenie vykoná porovnanie tabuliek a vráti údaje, keď je k dispozícii zhoda. Ako vidno vo vnútornom spoji, vonkajší spoj duplikuje riadky v danej tabuľke v prípade, že sa zobrazia zodpovedajúce záznamy. Výsledky vonkajších spojení sú zvyčajne väčšie, a preto sú súbory údajov veľké, pretože samotný súbor nie je odstránený zo súboru.

Ľavé spojenie znamená uchovanie všetkých záznamov z 1. tabuľky bez ohľadu na výsledok a vloženie hodnôt NULL, keď sa hodnoty druhej tabuľky nezhodujú. Naproti tomu správne spojenie sa týka uchovávania všetkých záznamov pochádzajúcich z 2. tabuľky bez ohľadu na to, aký je výsledok, a použitia hodnôt NULL, keď sa výsledky nezhodujú s výsledkami v 1. tabuľke..

Ľavý vonkajší spoj si teda zachováva všetky riadky, ktoré sú v „ľavej“ tabuľke, bez ohľadu na to, či je v „pravej“ tabuľke zhodný riadok. Ľavá tabuľka preto odkazuje na tabuľku, ktorá je na prvom mieste v spoločnom vyhlásení. Malo by sa zobraziť naľavo od kľúčového slova „pripojiť sa“, ktoré sa vyskytuje v tabuľke. Po dokončení ľavého vonkajšieho spojenia by sa mali vrátiť všetky riadky zľava. Nezhodné stĺpce v tabuľke sa vyplnia NULL vždy, keď neexistuje žiadna zhoda.

Je dôležité si uvedomiť, že pri riešení týchto dvoch spojení sa všetky riadky zľava tabuľky zobrazujú v tabuľke v ľavom vonkajšom spoji. Výsledky sa zobrazia bez ohľadu na to, či sa v pravej tabuľke nachádzajú nejaké zodpovedajúce stĺpce. Pri pravom vonkajšom spojení sa zobrazia všetky riadky sprava, a to bez ohľadu na to, či sú na ľavej strane tabuľky nejaké zodpovedajúce stĺpce..

Voľba, či sa má ísť o ľavý vonkajší spoj alebo pravý vonkajší spoj, nezáleží na tom, ako sú zobrazené rovnaké výsledky. Funkčnosť, ktorú predstavuje pravý vonkajší spoj, je rovnaká ako funkcia ľavého vonkajšieho spoja. Jednoduchým prepínaním poradia, v ktorom sa tabuľky objavia v príkaze SQL, môžete očakávať podobné výsledky bez ohľadu na použité spojenie.

zhrnutie

Spojenia prichádzajú do troch hlavných skupín - vnútorné spojenie, krížové spojenie a vonkajšie spojenie

Ľavý vonkajší spoj zobrazí všetky riadky zľava tabuľky

Pravé spojenie zobrazuje všetky riadky z pravej strany tabuľky

Striedanie sekvencie SQL môže vylúčiť použitie pravého aj ľavého vonkajšieho spojenia a namiesto toho použiť iba jeden.