Kľúčový rozdiel medzi Inner Join a Natural Join je v tom, že Inner Join poskytuje výsledok na základe zhodných údajov podľa podmienky rovnosti špecifikovanej v dotaze, zatiaľ čo Natural Join poskytuje výsledok na základe stĺpca s rovnakým názvom a rovnaký typ údajov ako v tabuľkách, ktoré sa majú spojiť.
DBMS umožňuje jednoduché ukladanie, získavanie a manipuláciu s údajmi. Údaje ukladá vo forme tabuliek. Každá tabuľka sa skladá z riadkov a stĺpcov. Riadky predstavujú každú entitu, zatiaľ čo stĺpce predstavujú atribúty. Predpokladajme, že databáza študentov. Každý riadok predstavuje študenta. Stĺpce predstavujú atribúty ako id, meno, trieda, vek. DBMS je zbierka tabuliek a každá tabuľka súvisí pomocou obmedzení, ako sú cudzie kľúče. Niekedy nestačí použiť jednu tabuľku. Existujú situácie, ktoré vyžadujú použitie viacerých tabuliek. Ak chcete spojiť dve tabuľky, aspoň jeden stĺpec by mal byť spoločný. Kombinácia stolov sa nazýva join.
Čo je Inner Join?
Príklad vnútorného spojenia je nasledujúci. Nižšie je študentský stôl.
Tabuľka student_info je nasledovná.
Ak chcete vykonať vnútorné spojenie, medzi oboma stolmi by mala byť aspoň jedna zhoda. ID 1, 2, 3 sú spoločné pre obe tabuľky. Preto je možné vykonať vnútorné spojenie.
Obrázok 01: SQL Join
Dotaz INNER JOIN na spojenie týchto dvoch tabuliek je nasledujúci.
VYBRAŤod študenta
INNER JOIN student_info WHERE student.id=student_info.id;
Vykonaním vyššie uvedeného príkazu SQL sa zobrazí nasledujúca tabuľka.
Čo je prirodzené spojenie?
Príklad prirodzeného spojenia je nasledujúci. Nižšie je študentský stôl.
Tabuľka student_info je nasledovná.
Ak chcete vykonať prirodzené spojenie, mal by existovať stĺpec s rovnakým názvom a rovnakým typom údajov. Stĺpec id je rovnaký pre obe tabuľky. Preto je možné prirodzene spojiť oba tieto stoly.
Dopyt NATURAL JOIN na spojenie týchto dvoch tabuliek je nasledujúci.
VYBERTEod študenta NATURAL JOIN student_info;
Vykonaním vyššie uvedeného príkazu SQL sa zobrazí nasledujúca tabuľka.
Aký je vzťah medzi vnútorným spojením a prirodzeným spojením?
Prirodzené spojenie je typ vnútorného spojenia
Aký je rozdiel medzi vnútorným spojením a prirodzeným spojením?
Vnútorné spojenie poskytuje výsledok na základe zhodných údajov podľa podmienky rovnosti špecifikovanej v dotaze, zatiaľ čo prirodzené spojenie poskytuje výsledok na základe stĺpca s rovnakým názvom a rovnakým typom údajov prítomným v tabuľkách, ktoré sa majú spojiť. Navyše syntax vnútorného spojenia a prirodzeného spojenia je odlišná.
Keď tabuľka1 pozostáva z id, name a table2 pozostáva z id a mesta, potom vnútorné spojenie poskytne výslednú tabuľku so zodpovedajúcimi riadkami. Bude mať id, meno, opäť id a mesto. Na druhej strane, prirodzené spojenie poskytne výslednú tabuľku so zodpovedajúcimi riadkami so stĺpcami id, name, city.
Summary – Inner Join vs Natural Join
Kľúčový rozdiel medzi vnútorným spojením a prirodzeným spojením je ten, že vnútorné spojenie poskytuje výsledok na základe zhodných údajov podľa podmienky rovnosti špecifikovanej v dotaze SQL, zatiaľ čo prirodzené spojenie poskytuje výsledok na základe stĺpca s rovnakým názvom a rovnaký typ údajov prítomný v tabuľkách, ktoré sa majú spojiť.