Rozdiel medzi Inner Join a Natural Join

Obsah:

Rozdiel medzi Inner Join a Natural Join
Rozdiel medzi Inner Join a Natural Join

Video: Rozdiel medzi Inner Join a Natural Join

Video: Rozdiel medzi Inner Join a Natural Join
Video: Difference between Natural Join And Inner Join In SQL | Which is better? Examples 2024, Júl
Anonim

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.

Rozdiel medzi vnútorným spojením a prirodzeným spojením obrázok 1
Rozdiel medzi vnútorným spojením a prirodzeným spojením obrázok 1

Tabuľka student_info je nasledovná.

Rozdiel medzi vnútorným spojením a prirodzeným spojením obr. 2
Rozdiel medzi vnútorným spojením a prirodzeným spojením obr. 2

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.

Rozdiel medzi vnútorným spojením a prirodzeným spojením
Rozdiel medzi vnútorným spojením a prirodzeným spojením

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.

Rozdiel medzi vnútorným spojením a prirodzeným spojením obr. 3
Rozdiel medzi vnútorným spojením a prirodzeným spojením obr. 3

Čo je prirodzené spojenie?

Príklad prirodzeného spojenia je nasledujúci. Nižšie je študentský stôl.

Rozdiel medzi vnútorným spojením a prirodzeným spojením obr. 4
Rozdiel medzi vnútorným spojením a prirodzeným spojením obr. 4

Tabuľka student_info je nasledovná.

Rozdiel medzi vnútorným spojením a prirodzeným spojením obr. 5
Rozdiel medzi vnútorným spojením a prirodzeným spojením obr. 5

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.

Rozdiel medzi vnútorným spojením a prirodzeným spojením obr. 6
Rozdiel medzi vnútorným spojením a prirodzeným spojením obr. 6

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.

Rozdiel medzi vnútorným spojením a prirodzeným spojením v tabuľkovej forme
Rozdiel medzi vnútorným spojením a prirodzeným spojením v tabuľkovej forme

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ť.

Odporúča: