Kiire juhend sisemiste liitumiste kasutamiseks SQL-is

click fraud protection

Relatsioonilised andmebaasid on paljude ettevõtete jaoks stabiilsed. Need on loodud arvutikeelega, mille nimi on struktureeritud päringukeel (SQL). Kui töötate relatsioonidega andmebaasid, uurite või kogute aeg-ajalt andmeid, mis asuvad rohkem kui ühes andmebaasi tabelis.

Mis on SQL JOIN-lause?

SQL JOIN-lause võimaldab ühendada kahte või enamat tabelit, tavaliselt seotud veeru põhjal, nii et andmeid käsitletakse nii, nagu need asuksid ühes tabelis. Liitumine ei muuda tabeleid ise.

SQL LIITU on paindlik ja funktsionaalne. Kuigi ühendusi on mitut tüüpi, on sisemine ühendamine üks lihtsamini mõistetavaid ja kasutatavaid. Heitke pilk järgmistele SQL-i lausetele, mis illustreerivad kolme erineva tabeli tulemuste ühendamist sisemise ühendamise abil.

Sisemise liitumise näide

Näiteks võta draivereid sisaldavad tabelid ühes tabelis ja sõidukite matšid teises. Sisemine liitumine toimub seal, kus nii sõiduk kui ka juht asuvad samas linnas. Sisemine liitumine valib mõlema tabeli kõik read, mis sisaldavad asukohaveergude vastet.

instagram viewer

Allpool olev SQL-i lause ühendab juhi ja sõiduki tabelite andmed juhtudel, kui juht ja sõiduk asuvad samas linnas:

VALI perekonnanimi, eesnimi, silt
JUHTIDELT, sõidukitelt
KUS juhid.asukoht = sõidukid.asukoht

See päring annab järgmised tulemused:

perekonnanime eesnime silt

Pagar Roland H122JM
Smythe Michael D824HA
Smythe Michael P091YF
Jacobs Abraham J291QR
Jacobs Abraham L990MT

Nüüd laiendage seda näidet, lisades kolmanda tabeli. Ainult nädalavahetusel avatud kohtades viibivate juhtide ja sõidukite kaasamiseks tooge päringusse kolmas tabel, laiendades JOIN-lauset järgmiselt:

VALI perekonnanimi, eesnimi, silt, avatud_nädalavahetused
JUHTIDELT, sõidukitelt, asukohtadelt
KUS juhid.asukoht = sõidukid.asukoht
JA sõidukid.asukoht = asukohad.asukoht
AND locations.open_weekends = 'Jah'

See päring annab järgmised tulemused:

perekonnanime eesnime silt open_weekends

Baker Roland H122JM jah
Jacobs Abraham J291QR jah
Jacobs Abraham L990MY jah

See SQL JOINi põhijuhise võimas laiendus ühendab andmeid keerukalt. Lisaks sisemise ühendusega tabelite ühendamisele ühendab see tehnika mitu tabelit muud tüüpi ühendustega.

Muud tüüpi ühendused

Kui tabelitel on vastav kirje, on sisemine liitumine õige tee, kuid mõnikord pole ühel tabelil seotud andmeid nende andmete jaoks, millele liitumine on üles ehitatud, mistõttu päring nurjub. See juhtum nõuab välimine liitumine, mis sisaldab tulemusi, mis on olemas ühes tabelis, kuid millel pole ühendatud tabelis vastavat vastet.

Lisaks võite olenevalt olukorrast kasutada erinevat tüüpi ühendusi. Need muud tüüpi ühendused on:

  • Vasakpoolne välimine liitumine (vasak liitumine): sisaldab kõiki vasakpoolse tabeli kirjeid, isegi kui paremal tabelil pole vastavat kirjet.
  • Parem välimine ühendus (parem liitumine): tagastab parempoolsest tabelist kogu asjakohase teabe, isegi kui vasakul tabelil pole vastet.
  • Täielik liitumine: Valib kahest tabelist kõik kirjed, olenemata sellest, kas neil on vastav liitumistingimus.
instagram story viewer