A különbség a Belső Csatlakozás és a Külső Csatlakozás között

Anonim

Belső Csatlakozás vs Külső Csatlakozás

A Belső Csatlakozás és a Külső Csatlakozás két olyan SQL csatlakozási módszer, amelyet az adatbázisok lekérdezésének feldolgozásához használnak. A csatlakozási záradék családjához tartoznak (a másik kettő a bal és a jobb csatlakozás). Van azonban egy öncsatlakozás, amely speciális helyzetekben használható. A Csatlakozás célja, hogy a mezőket a közös értékek segítségével kombinálja a két táblához. Ezek a bejegyzések kombinálják a rekordokat egy adatbázisban lévő több táblázatból. Eredménykészleteket hoz létre, amelyeket egy másik táblázatként el lehet menteni.

Mi a Belső Csatlakozás?

A leggyakrabban használt SQL Join művelet a Belső Csatlakozás. Az alkalmazásokban használt csatlakozás alapértelmezett típusának tekinthető. Belső összekapcsolás a csatlakozás-predikátum használatával kombinálja a két táblát. Feltéve, hogy a két táblázat A és B, akkor a csatlakozás-predikátum összehasonlítja az A és B sorokat, hogy megtudja az összes olyan párt, amely kielégíti a predikátumot. Az A és B táblák összes elégedett sorának oszlopainak értékeit kombinálva hozza létre az eredményt. Elképzelhető, hogy először vegye fel az összes rekord kereszt-csatlakozását (Descartes-termék), majd csak azokat a rekordokat adja vissza, amelyek kielégítik a csatlakozási predikátumot. Azonban a valóságban a karteziai termék nem számít, mert nagyon nem hatékony. Ehelyett a Hash join vagy a sort-merge csatlakozás használatos.

Mi a Külső Csatlakozás ?

A Belső csatlakozással ellentétben a külső csatlakozás megtartja az összes rekordot, még akkor is, ha nem talál megfelelő rekordot. Ez azt jelenti, hogy a külső csatlakozásnak rekordra van szüksége, hogy megtalálja a megfelelő rekordot, hogy megjelenjen az eredményben. Ehelyett visszaadja az összes rekordot, de a páratlan rekordok nulla értékekkel rendelkeznek. A külső csatlakozások három alcsoportba vannak osztva. Ezek a külső csatlakozás, a jobb külső csatlakozás és a teljes külső csatlakozás. Ez a differenciálás azon alapul, hogy a táblázat (bal oldali táblázat, jobb oldali táblázat vagy mindkét táblázat) sor megmarad, ha páratlan rekordok találhatók. A bal oldali csatlakozás (más néven egyszerűen a baloldali csatlakozás) megtartja a bal oldali táblázat összes rekordját. Ez azt jelenti, még akkor is, ha a számok egyező rekordja nulla, akkor az eredménytáblában még vannak rekordok, de minden oszlophoz nulla értéket kapnak. Más szavakkal, a bal oldali táblázat összes értéke visszakerül a jobb oldali értékekkel táblázat (vagy null értékek páratlan esetben). Ha a bal oldali táblázatból származó többszöri sorok értékeit a jobb oldali táblázat egyetlen sorával egyezik meg, akkor a jobb oldali táblázatból a sor szükség szerint megismétlődik. A jobb külső csatlakozás nagyjából hasonló a bal külső csatlakozáshoz, de a táblák kezelése tiszteletre méltó. Ez azt jelenti, hogy az eredmény a jobb oldali táblázat minden sora legalább egyszer a bal oldali táblázatokhoz tartozó értékekkel (és null értékekkel a páratlan megfelelő értékekhez). A teljes külső csatlakozás átfogóbb, mint a bal és a jobb oldali csatlakozás. Ez azt eredményezi, hogy kombináljuk a bal és a jobb oldali összekapcsolódás hatását.

Mi a különbség a Belső Csatlakozás és a Külső Csatlakozás között?

A Belső Csatlakozás nem tartja meg a páratlan sorokat az eredményben, de a külső csatlakozás minden rekordot legalább egy táblázatból (attól függően, hogy melyik külső csatlakozást használta) tartja. Tehát nem kívánatos az, hogy nincs olyan információ, amely az eredménytáblán páratlan sorokban jelenik meg, mindig használnia kell az egyik külső csatlakozást (a belső csatlakozás helyett). A belső csatlakozás nem eredményez eredményt, ha nem találtak egyezést. De a külső csatlakozás mindig eredményes táblát eredményez, még akkor sem, ha nincsenek egymáshoz illő sorok. A belső csatlakozás mindig visszaadja az értékeket tartalmazó táblázatokat (ha visszaadják). De a külső csatlakozások eredményeként null értékű táblákat eredményezhetnek.