Rozdíl mezi Inner Join a Natural Join

Obsah:

Rozdíl mezi Inner Join a Natural Join
Rozdíl mezi Inner Join a Natural Join

Video: Rozdíl mezi Inner Join a Natural Join

Video: Rozdíl mezi Inner Join a Natural Join
Video: SQL Joins: Difference Between Inner/Left/Right/Outer Joins 2024, Červenec
Anonim

Klíčový rozdíl mezi Inner Join a Natural Join je ten, že Inner Join poskytuje výsledek na základě shodných dat podle podmínky rovnosti specifikované v dotazu, zatímco Natural Join poskytuje výsledek na základě sloupce se stejným názvem a stejný datový typ jako v tabulkách, které mají být spojeny.

DBMS umožňuje snadno ukládat, načítat a manipulovat s daty. Ukládá data ve formě tabulek. Každá tabulka se skládá z řádků a sloupců. Řádky představují každou entitu, zatímco sloupce představují atributy. Předpokládejme databázi studentů. Každý řádek představuje studenta. Sloupce představují atributy jako id, jméno, stupeň, věk. DBMS je kolekce tabulek a každá tabulka souvisí pomocí omezení, jako jsou cizí klíče. Někdy nestačí použít jedinou tabulku. Existují situace, které vyžadují použití více tabulek. Chcete-li kombinovat dvě tabulky, alespoň jeden sloupec by měl být společný. Kombinace stolů se nazývá join.

Co je Inner Join?

Příklad pro vnitřní spojení je následující. Níže je studentský stůl.

Rozdíl mezi vnitřním spojením a přirozeným spojením obrázek 1
Rozdíl mezi vnitřním spojením a přirozeným spojením obrázek 1

Tabulka student_info je následující.

Rozdíl mezi vnitřním spojením a přirozeným spojením obr. 2
Rozdíl mezi vnitřním spojením a přirozeným spojením obr. 2

Pro provedení vnitřního spojení by mezi oběma stoly měla existovat alespoň jedna shoda. ID 1, 2, 3 jsou společné pro obě tabulky. Proto je možné provést vnitřní spojení.

Rozdíl mezi vnitřním spojením a přirozeným spojením
Rozdíl mezi vnitřním spojením a přirozeným spojením

Obrázek 01: SQL Join

Dotaz INNER JOIN pro spojení těchto dvou tabulek je následující.

VYBRATod studenta

INNER JOIN student_info WHERE student.id=student_info.id;

Provedením výše uvedeného SQL příkazu se zobrazí následující tabulka.

Rozdíl mezi vnitřním spojením a přirozeným spojením obr. 3
Rozdíl mezi vnitřním spojením a přirozeným spojením obr. 3

Co je Natural Join?

Příklad přirozeného spojení je následující. Níže je studentský stůl.

Rozdíl mezi vnitřním spojením a přirozeným spojením obr. 4
Rozdíl mezi vnitřním spojením a přirozeným spojením obr. 4

Tabulka student_info je následující.

Rozdíl mezi vnitřním spojením a přirozeným spojením obr. 5
Rozdíl mezi vnitřním spojením a přirozeným spojením obr. 5

Pro provedení přirozeného spojení by měl existovat sloupec se stejným názvem a stejným datovým typem. Sloupec id je pro obě tabulky stejný. Proto je možné přirozeně spojit oba tyto stoly.

Dotaz NATURAL JOIN pro spojení těchto dvou tabulek je následující.

VYBRATod studenta NATURAL JOIN student_info;

Provedením výše uvedeného SQL příkazu se zobrazí následující tabulka.

Rozdíl mezi vnitřním spojením a přirozeným spojením obr. 6
Rozdíl mezi vnitřním spojením a přirozeným spojením obr. 6

Jaký je vztah mezi vnitřním spojením a přirozeným spojením?

Přirozené spojení je druh vnitřního spojení

Jaký je rozdíl mezi vnitřním spojením a přirozeným spojením?

Vnitřní spojení poskytuje výsledek na základě shodných dat podle podmínky rovnosti specifikované v dotazu, zatímco přirozené spojení poskytuje výsledek na základě sloupce se stejným názvem a stejným datovým typem přítomným v tabulkách, které mají být spojeny. Kromě toho se syntaxe vnitřního spojení a přirozeného spojení liší.

Když se tabulka1 skládá z id, name a table2 se skládá z id a města, pak vnitřní spojení dá výslednou tabulku se shodnými řádky. Bude mít id, jméno, znovu id a město. Na druhou stranu, přirozené spojení dá výslednou tabulku s odpovídajícími řádky se sloupci id, name, city.

Rozdíl mezi vnitřním spojením a přirozeným spojením v tabulkové formě
Rozdíl mezi vnitřním spojením a přirozeným spojením v tabulkové formě

Shrnutí – Vnitřní spojení vs přirozené spojení

Klíčový rozdíl mezi vnitřním spojením a přirozeným spojením je ten, že vnitřní spojení poskytuje výsledek na základě odpovídajících dat podle podmínky rovnosti zadané v dotazu SQL, zatímco přirozené spojení poskytuje výsledek na základě sloupce se stejným názvem a stejný datový typ přítomný v tabulkách, které mají být spojeny.

Doporučuje: