SQL-liittyminen useilla ehdoilla

Sql Liittyminen Useilla Ehdoilla



Yksi relaatiotietokantojen yleisimmistä ominaisuuksista on liitokset. SQL-liitokset viittaavat prosessiin, jossa kahden tai useamman taulukon tiedot yhdistetään yhdeksi tulosjoukoksi vakioominaisuuksien tai sarakkeiden perusteella.

Taulukoiden yhdistäminen antaa meille mahdollisuuden hakea useisiin taulukoihin tallennetut tiedot yhdellä kyselyllä, mikä tekee siitä tehokkaan työkalun tietojen analysointiin ja raportointiin.







Tässä opetusohjelmassa selvitetään, kuinka SQL-liitokset suoritetaan useissa olosuhteissa. Opimme käyttämään 'AND'- ja 'OR'-loogisia operaattoreita tietojen yhdistämiseen useiden ehtojen perusteella.



SQL liittyy useisiin ehdoin

Voimme määrittää useita ehtoja AND- tai OR-operaattoreiden avulla SQL:ssä. Näiden operaattorien avulla voimme määrittää joukon Boolen lausekkeita, jotka sitten arvioidaan ja verrataan tuloksena olevaan joukkoon.



Käytämme AND-operaattoria varmistaaksemme, että kaikki määritetyt ehdot ovat totta. Jos edes yksi ehdoista ei ole tosi, koko lauseke muunnetaan epätosi. Tämä tekee AND-operaattorista poikkeuksellisen työkalun äärimmäiseen tietojen suodatukseen.





Toisaalta käytämme OR-operaattoria, kun tarvitsemme vähintään yhden ehdoista ollakseen totta. Tämä tekee siitä 'löysämmän' tietojen suodatusmenetelmän, koska tuloksena olevan tietueen on täytettävä vain yksi määritetty parametri.

AND- ja OR-operaattorien toiminnallisuus ei muutu edes SQL-liitosten tapauksessa.



Esimerkki SQL:n useista liitoksista

Ymmärtääksesi, kuinka liitoksia voidaan käsitellä useissa olosuhteissa, on parasta työskennellä esimerkin kanssa.

Tässä esittelyssä käytämme Sakila-tietokantaa, joka on kehitetty tutkimaan SQL:n kaikkia ominaisuuksia.

Oletetaan, että haluamme hakea tiedot elokuvasta ja film_actor-taulukoista. Ensinnäkin haluamme löytää kaikki elokuvassa esiintyneet näyttelijät, joiden luokitus on joko PG tai PG-13 ja joiden pituus on 90–120.

Esimerkiksi skenaariossa meidän on suoritettava yhdistäminen useilla ehdoilla seuraavassa esitetyllä tavalla:

SELECT näyttelijä.etunimi, näyttelijän.sukunimi, elokuva.nimi, elokuvan.julkaisuvuosi, elokuva.luokitus
näyttelijältä
LIITY film_actor ON actor.actor_id = elokuvan_näyttelijä.actor_id
LIITY elokuvaan film_actor.film_id = film.film_id
WHERE film.length BETWEEN 90 JA 120
JA film.rating IN ( 'PG' , 'PG-13' ) ;


Kuten edellisestä kyselystä näet, käskemme SQL:ää suorittamaan liitoksen näyttelijän ja film_actor -taulukoiden välillä actor_id-sarakkeen perusteella. Suoritamme myös liitoksen film_actor- ja elokuvataulukoiden välillä käyttämällä film_id-saraketta. Varmistamme myös, että määrittelemme kaksi ehtoa käyttämällä WHERE-lausetta tulostaulukon suodattamiseksi julkaisuvuoden ja elokuvan pituuden perusteella.

Tuloksena oleva taulukko on seuraava:


Voimme myös määrittää useita ehtoja OR-operaattorin perusteella seuraavan esimerkkikyselyn mukaisesti:

VALITSE elokuva.nimi, elokuvan.vuokrahinta, kategoria.nimi
elokuvasta
LIITY film_category ON film.film_id = film_category.film_id
LIITY luokkaan filmin_luokka.kategorian_id = luokka.luokkatunnus
WHERE luokka.nimi IN ( 'Toiminta' , 'Komedia' )
JA elokuva.vuokrahinta > 3.00 ;


Tuloksena oleva taulukko on seuraava:

Johtopäätös

Tässä opetusohjelmassa tutkittiin, kuinka SQL-liitoksia voidaan käsitellä useiden ehtojen perusteella käyttämällä AND- ja OR-operaattoreita. Tämä mahdollistaa tarkemman tietojen suodatuksen.