Erinevus sisemise ja loomuliku liitumise vahel

Sisukord:

Erinevus sisemise ja loomuliku liitumise vahel
Erinevus sisemise ja loomuliku liitumise vahel

Video: Erinevus sisemise ja loomuliku liitumise vahel

Video: Erinevus sisemise ja loomuliku liitumise vahel
Video: Riigikogu 08.05.2023 2024, Juuli
Anonim

Põhiline erinevus sisemise ühenduse ja loomuliku ühenduse vahel seisneb selles, et sisemine liitmine annab tulemuse vastendatud andmete põhjal vastav alt päringus määratud võrdsuse tingimusele, samas kui Natural Join pakub tulemuse sama nimega veeru ja sama tüüpi andmetüüp on liidetavates tabelites.

DBMS võimaldab hõlpsasti andmeid salvestada, hankida ja töödelda. See salvestab andmed tabelite kujul. Iga tabel koosneb ridadest ja veergudest. Read tähistavad iga olemit, veerud aga atribuute. Oletame õpilaste andmebaasi. Iga rida tähistab õpilast. Veerud tähistavad atribuute, nagu id, nimi, hinne, vanus. DBMS on tabelite kogum ja iga tabel on seotud piirangute, näiteks võõrvõtmete abil. Mõnikord ei piisa ühe tabeli kasutamisest. On olukordi, mis nõuavad mitme tabeli kasutamist. Kahe tabeli ühendamiseks peaks vähem alt üks veerg olema ühine. Tabelite kombinatsiooni nimetatakse liitumiseks.

Mis on sisemine liitumine?

Sisemise ühenduse näide on järgmine. Allpool on õpilaste tabel.

Erinevus sisemise ja loomuliku ühenduse vahel joonis 1
Erinevus sisemise ja loomuliku ühenduse vahel joonis 1

Tudengiteabe tabel on järgmine.

Erinevus sisemise ja loomuliku ühenduse vahel joonis 2
Erinevus sisemise ja loomuliku ühenduse vahel joonis 2

Sisemise ühendamise tegemiseks peab mõlema laua vahel olema vähem alt üks vaste. ID 1, 2, 3 on mõlemale tabelile ühised. Seetõttu on võimalik teostada sisemine liitumine.

Erinevus sisemise ja loomuliku ühenduse vahel
Erinevus sisemise ja loomuliku ühenduse vahel

Joonis 01: SQL-iga liitumine

InNER JOIN päring nende kahe tabeli ühendamiseks on järgmine.

VALIõpilaselt

SISEMINE LIITUMINE student_info WHERE student.id=õpilase_info.id;

Ül altoodud SQL-käsu täitmine väljastab järgmise tabeli.

Erinevus sisemise ja loomuliku ühenduse vahel joonis 3
Erinevus sisemise ja loomuliku ühenduse vahel joonis 3

Mis on loomulik liitumine?

Loomuliku ühenduse näide on järgmine. Allpool on õpilaste tabel.

Erinevus sisemise ja loomuliku ühenduse vahel joonis 4
Erinevus sisemise ja loomuliku ühenduse vahel joonis 4

Tudengiteabe tabel on järgmine.

Erinevus sisemise ja loomuliku ühenduse vahel joonis 5
Erinevus sisemise ja loomuliku ühenduse vahel joonis 5

Loomuliku ühendamise tegemiseks peaks olema veerg, millel on sama nimi ja sama andmetüüp. ID-veerg on mõlema tabeli jaoks sama. Seetõttu on mõlemat tabelit võimalik loomulikult ühendada.

NATURAL JOIN päring nende kahe tabeli ühendamiseks on järgmine.

SELECTõpilaselt LOODUSLIK LIITUMINE student_info;

Ül altoodud SQL-käsu täitmine väljastab järgmise tabeli.

Erinevus sisemise ja loomuliku ühenduse vahel joonis 6
Erinevus sisemise ja loomuliku ühenduse vahel joonis 6

Milline on suhe sisemise ja loomuliku liitumise vahel?

Loomulik liitumine on sisemise liitumise tüüp

Mis vahe on sisemise ja loomuliku liitumise vahel?

Sisemine ühendamine annab tulemuse vastendatud andmete põhjal vastav alt päringus määratud võrdsuse tingimusele, loomulik liitmine aga ühendatavates tabelites oleva sama nime ja sama andmetüübiga veeru põhjal. Lisaks on sisemise ja loomuliku ühenduse süntaks erinev.

Kui tabel1 koosneb ID-st, nimest ja tabel2 koosneb ID-st ja linnast, siis sisemine liitmine annab tulemuseks sobivate ridadega tabeli. Sellel on ID, nimi, jälle ID ja linn. Teisest küljest annab loomuliku ühendamise korral tulemuseks tabeli sobivate ridadega veergude id, nimi, linn.

Erinevus sisemise ja loomuliku ühenduse vahel tabelikujul
Erinevus sisemise ja loomuliku ühenduse vahel tabelikujul

Kokkuvõte – sisemine liitumine vs loomulik liitumine

Põhiline erinevus sisemise ja loomuliku ühenduse vahel on see, et sisemine ühendamine annab tulemuse sobitatud andmete põhjal vastav alt SQL-päringus määratud võrdsuse tingimusele, samas kui loomulik liitumine annab tulemuse sama nimega veeru põhjal ja sama tüüpi andmetüüp on ühendatud tabelites.

Soovitan: