Juhis sisemise liitumise kasutamiseks SQL-s, et grupeerida andmeid mitmest tabelist

Kasutage SQL Inner Joinsi, et kombineerida andmeid kolmest või enamast tabelist

Võite kasutada SQL JOINi avaldusi, et kombineerida andmeid kolmest või enamast tabelist. SQL JOIN on äärmiselt paindlik ja selle võimas funktsioone saab kasutada mitme tabeli andmete kombineerimiseks. Vaatame SQL avaldusi, mis võimaldavad ühendada tulemusi kolmest erinevast tabelist, kasutades sisemist liitu.

Sisemine liitumisnäide

Näiteks võtke tabeleid, mis sisaldavad draivereid ühes tabelis ja sõiduki vasted-ups teises. Sisemine liitumine toimub siis, kui nii sõiduk ja juht asuvad samas linnas. Siseühendus valib kõik read mõlemad tabelid, mis sisaldavad asukoha veerge vastavust.

Allpool olev SQL ühendab andmed juhtide ja sõidukite tabelitest juhtudel, kui juht ja sõiduk asuvad samas linnas:

SELECT eesnimi, eesnimi, märgis draiveritest, sõidukid, kus draiverid.Location = vehicles.location

See päring annab järgmised tulemused:

eesnimi eesnimi tag -------- --------- --- Baker Roland H122JM Smythe Michael D824HA Smythe Michael P091YF Jacobs Abraham J291QR Jacobs Abraham L990MT

Nüüd laiendage seda näidet kolmanda tabeli lisamiseks. Kujutlege, et soovisite ainult juhte ja sõidukeid, mis asuvad nädalavahetustel avatud kohtades. Võite tuua kolmanda tabeli oma päringusse, laiendades JOIN-i avaldust järgmiselt:

SELECT eesnimi, eesnimi, silt, open_weekends Draiveritest, sõidukitest, kohtadest, kus draiverid.Location = vehicles.NOTING ja vehicles.location = locations.location AND locations.open_weekends = 'Yes' lastnimi eesnimi tag open_weekends -------- --------- --- ------------- Baker Roland H122JM jah Jacobs Abraham J291QR jah Jacobs Abraham L990MT jah

Selle SQL JOINi põhiseaduse võimas laiend võimaldab teil andmeid kombineerida keerulisel viisil. Lisaks sisemise liidesega lauade kombineerimisele võite kasutada ka seda meetodit, et kombineerida mitu tabelit, kasutades välist liitmist. Välised ühendused sisaldavad tulemusi, mis on ühes tabelis olemas, kuid ühendatud tabelis ei ole vastavat vastet.