Käytä SQL: n sisäisiä liittymiä yhdistämään tietoja kolmesta tai useammasta taulukosta
Voit käyttää SQL JOIN -lausekkeita kolmen tai useamman taulukon tietojen yhdistämiseen. SQL JOIN on erittäin joustava ja sen tehokas toiminto voi yhdistää tietoja useista taulukoista. Katsotaanpa SQL-käskyjä, joiden avulla voit yhdistää tuloksia kolmesta eri taulukosta käyttämällä sisäistä liitosta.
Inner Join Example
Voit esimerkiksi ottaa taulukoita, jotka sisältävät ajureita yhdessä taulukossa ja ajoneuvojen otteluja toisessa. Sisempi liitäntä tapahtuu, jos sekä ajoneuvo että kuljettaja sijaitsevat samassa kaupungissa. Sisäliitos valitsee kaikki rivit molemmista taulukoista, jotka sisältävät sovituksen sijainnin sarakkeiden välillä.
Seuraavassa SQL-käskyssä yhdistetään Drivers and Vehicles -taulukoiden tiedot silloin, kun kuljettaja ja ajoneuvo sijaitsevat samassa kaupungissa:
SELECT etunimi, etunimi, tag FROM ohjaimet, ajoneuvot WHERE drivers.location = vehicles.locationTämä kysely tuottaa seuraavat tulokset:
etunimen etunimi tag -------- --------- --- Baker Roland H122JM Smythe Michael D824HA Smythe Michael P091YF Jacobs Abraham J291QR Jacobs Abraham L990MTNyt laajenna tämä esimerkki kolmanteen taulukkoon. Kuvittele, että halusit sisällyttää vain kuljettajia ja ajoneuvoja läsnä viikonloppuna avoinna oleviin paikkoihin. Voit tuoda kyselyyn kolmannen taulukon laajentamalla JOIN-lausekkeen seuraavasti:
SELECT etunimen, etunimen, tagin, open_weekends FROM ajureista, ajoneuvoista, paikoista WHERE drivers.location = vehicles.location AND vehicles.location = locations.location JA locations.open_weekends = 'Kyllä' etunimen etunimi tag open_weekends -------- --------- --- ------------- Baker Roland H122JM kyllä Jacobs Abraham J291QR kyllä Jacobs Abraham L990MT kylläTämä tehokas laajennus perus SQL JOIN -tilaan avulla voit yhdistää tietoja monimutkaisella tavalla. Taulukoiden yhdistämisen sisäisen liitoksen lisäksi voit myös käyttää tätä tekniikkaa yhdistämällä useita taulukoita ulomman liitoksen avulla. Ulkoihin liittymiin kuuluu tuloksia, jotka ovat samassa taulukossa, mutta niillä ei ole vastaavaa vastaavuutta yhdistetyssä taulukossa.