Soovitatav, 2021

Toimetaja Valik

Erinevus sisemise liitumise ja välise liidese vahel SQLis

Ühine liitumine ja liitumine on mõlemad liigid. Liitu võrdleb ja kombineerib kahe suhte või tabeli tuple. Inner Join määrab loomuliku liitumise, st kui kirjutate liiteklausli ilma sisemise märksõnaga, siis täidab see loomuliku liitumise operatsiooni. Võimalik erinevus sisemise liitumise ja välise liitumise vahel on see, et sisemine liitumine tagastab ainult vastavad tabelid ja Outer Join tagastab kõik võrdlused nii võrdlustabelitest. Arutagem mõningaid muid erinevusi Inner Join'i ja Outer Join'i vahel allpool toodud võrdluskaardi abil.

Võrdluskaart

Võrdluse alusSisemine liitumineOuter Join
PõhilineInner Join väljastab mõlemast tabelist ainult sobivad numbrid.Outer Join näitab kõiki tabeleid.
AndmebaasInner Join'i tagastatud andmebaasi potentsiaalne suurus on suhteliselt väiksem kui Outer Join.Väline liitumine tagastab suhteliselt suurema andmebaasi.
TüübidTüüpe pole.Vasakpoolne liitumine,
Õigus Outer Join
ja Full Outer Join.

Sisemise liitumise mõiste

Inner Join nimetatakse ka kui Natural Join. Inner Join võrdleb kahte tabelit ja kombineerib mõlema tabeli sobiva tuple. Seda nimetatakse ka liitumise vaiketüübiks, kuna liitumisklausel on kirjutatud ilma sisemise võtmesõnaga, mida ta loomulikult ühendab. Kui liitumisklausel on kirjutatud ilma välise märksõnaga, siis teostatakse ka sisemine liitumine.

Inner Join saab seletada näiteks. On kaks tabelit üliõpilastabeli ja osakonna tabeli kohta. Nüüd laseme meil mõista, mida sisemine liitumine toimib.

SELECT Name, Sem, Deparment_name from Student INNER JOIN osakond ON Student.Department_ID = Department.ID.

Näete, et ainult need numbrid saadakse tulemuseks, kus Student.Department_ID = Department.ID. Seega võime öelda, et sisemine liit ühendab ainult kahe tabeli sobiva numbri.

Mõiste Outer Join

Erinevalt sisemisest liitumisest on väljundiks ainult need numbrid, millel on samad atribuudi väärtused nii võrreldavas tabelis; Outer Join väljastab kõik tabeli kõik tuple. Outer Join on kolm tüüpi vasakpoolne liitumine, parem välimine liitumine ja täisliides .

Mõistkem neid ükshaaval. Esiteks, võtkem vasakpoolne liitumine.

Vali nimi, osakonna_nimi õpilasest vasakult Väline liituda osakonnaga ON Student.Department_ID = Depoartment.ID.

Näete, et tulemustes kuvatakse kõik õpilaste tabeli numbrid.

Vali nimi, osakonna_nimi osakonnast Õigus Outer Join Student ON Student.Department_ID = Depoartment.ID.

Näete, et kuvatakse kõik osakondade tabelid.

Vali nimi, osakonna_nimi õpilase täisliidese osakonnast ON Student.Department_ID = Depoartment.ID.

Saate jälgida, et mõlemas tabelis olevad numbrid kuvatakse tulemuses.

Peamised erinevused sisemise liitumise ja välimise liitumise vahel

  1. Peamine erinevus sisemise liitumise ja välise liidese vahel on see, et sisemine liitumine võrdleb ja ühendab ainult vastavad tabelite tabelid. Teisest küljest võrdleb Outer Join ja ühendab kõik võrreldavad tabelid.
  2. Inner Join'ist saadud tulemuste andmebaasi suurus on väiksem kui Outer Join.
  3. Välisliidese vasakpoolne liitumine on kolm, Righ Outer Join ja Full Outer Join. Kuid sisemine liit ei ole sellist tüüpi.

Järeldus:

Mõlemad ühendused on väga kasulikud. Kasutamine sõltub kasutaja nõudest.

Top