Erinevus sisemise liitumise ja välise liitumise vahel SQL-is

Autor: Laura McKinney
Loomise Kuupäev: 2 Aprill 2021
Värskenduse Kuupäev: 12 Mai 2024
Anonim
Erinevus sisemise liitumise ja välise liitumise vahel SQL-is - Tehnoloogia
Erinevus sisemise liitumise ja välise liitumise vahel SQL-is - Tehnoloogia

Sisu


Sisemine liitumine ja väline liitumine on mõlemad liitumisliigid. Liitu võrdleb ja ühendab kahe suhte või tabeli kokkuvõtted. Sisemine liitumine määratleb loomuliku liitumise, st kui kirjutate liitumisklausli ilma sisemise märksõnata, siis see sooritab loomuliku liitumisoperatsiooni. Võimalik erinevus sisemise liitumise ja välimise liitumise vahel on see Sisemine liitumine tagastab nii tabelist kui ka tabelist ainult sobivad tüübid Väline liitumine tagastab mõlema võrreldava tabeli kõik tüübid. Allpool näidatud võrdlusdiagrammi abil arutame mõnda muud sisemise liitumise ja välise liitumise erinevust.

  1. Võrdlusdiagramm
  2. Definitsioon
  3. Peamised erinevused
  4. Järeldus

Võrdlusdiagramm

Võrdluse alusSisemine liitumineVäline liitumine
PõhilineSiseühendus väljastab mõlemast tabelist ainult sobivad tüübid.Outer Join kuvab kõik mõlema tabeli nipid.
AndmebaasSisemise liitumisega tagastatud andmebaasi potentsiaalne suurus on suhteliselt väiksem kui välimine liitumine.Väline liitumine tagastab suhteliselt suurema andmebaasi.
TüübidTüüpe pole.Vasakpoolne liitumine,
Parempoolne väline liitumine,
ja täielik välimine liitumine.


Sisemise liitumise määratlus

Sisemist liitumist nimetatakse ka loomulikuks liitumiseks. Siseühendus võrdleb kahte tabelit ja ühendab mõlemas tabelis vastava tüübi. Seda nimetatakse ka liitumise vaiketüübiks, kuna liitumisklausel kirjutatakse ilma sisemise märksõnata, mis täidab loomulikku liitumist. Kui liitumisklausel on kirjutatud ilma välise märksõnata, teostatakse ka sisemine liitumine.

Sisemist liitumist saab selgitada näitega. Seal on kaks lauda õpilaslaud ja osakonnalaud. Nüüd võimaldab meil mõista, mida sisemine Liit täidab.

VALI Nimi, Sem, Algus_nimi Üliõpilasisese sisenemise osakonnas Üliõpilane.Departamendi_ID = Osakonna.ID.


Näete, et tulemuses, kus Student.Department_ID = Department.ID, saadakse ainult need tüübid. Seega võime öelda, et sisemine liitumine ühendab ainult kahe tabeli kokkulangeva osa.

Välise liitumise määratlus

Erinevalt sisemisest liitumisest väljastatakse ainult need tüübid, millel on mõlemas võrreldavas tabelis samad atribuutide väärtused; Outer Join väljastab mõlemad tabeli kõik tüübid. Välist liitumist on kolme tüüpi Vasakpoolne liitumine, Parempoolne väline liitumineja Täielik väline liitumine.

Mõistagem neid ükshaaval. Kõigepealt võtkem vasakpoolne liitumine.

Valige Nimi, Osakonna_nimi Üliõpilasest vasakul Välimine Liitu osakonnaga SISSE Student.Department_ID = Depoartment.ID.

Näete, et kõik õpilaste tabeli nipid kuvatakse tulemuses.

Valige Nimi, Osakonna_nimi Osakonnast paremal Välimine Liituge üliõpilasega Sisse Student.Department_ID = Depoartment.ID.

Näete, et kuvatakse kõik osakonna tabeli nipid.

Valige Nimi, Osakonna_nimi Üliõpilasest täielik välimine Liituge osakonnaga Sisse Student.Department_ID = Depoartment.ID.

Võite jälgida, et mõlema tabeli kõik nipid kuvatakse tulemuses.

  1. Põhiline erinevus sisemise liitumise ja välimise liitumise vahel on see, et sisemine liitmine võrdleb ja ühendab ainult tabelite vahel olevad sobivad tüübid. Teisest küljest võrdleb välimine liitumine ja ühendab kõik võrreldavate tabelite kõik nipid.
  2. Siseühendusest saadud tulemuste andmebaasi suurus on väiksem kui välimine liitumine.
  3. Välist liitumist vasakpoolse liitumisega, paremat välist liitumist ja täielikku välimist liitumist on kolme tüüpi. Kuid sisemisel Liitu pole selliseid tüüpe.

Järeldus:

Mõlemad liitumised on väga kasulikud. Kasutamine sõltub kasutaja nõudmistest.