Tietokannat ovat nykyaikaisten sovellusten merkittävä rakennuspalikka. Tietokannat tallentavat kuitenkin valtavan määrän tietoa. Siksi tarvitsemme tapoja suodattaa tiedot ja hakea vain tarvittavat tietueet.
Yksi SQL:n yleisimmistä tietojen suodatusmenetelmistä on WHERE-lauseen käyttö. SQL:n WHERE-lause antaa meille mahdollisuuden suodattaa tietueita tietyn ehdon perusteella. Tämä lauseke voi määrittää yhden tai useamman ehdon, jonka avulla voimme suodattaa SELECT-käskyn palauttamat tietueet.
Tämä opetusohjelma tutkii WHERE-lauseen käyttöä ja useiden ehtojen määrittämistä yhdessä lauseessa, mikä mahdollistaa kontrolloidumman ja yksityiskohtaisemman tietojen suodatuksen.
SQL WHERE -lauseen perusteet
Aloitetaan perusasioista ja opitaan WHERE-lauseen käytön perusteet SQL:ssä.
Oletetaan, että meillä on taulukko, joka sisältää maatiedot, ja haemme vain maat, joiden väkiluku (neliökilometriä kohti) on suurempi kuin 100 ja pinta-ala on suurempi kuin 2000000.
Voimme suorittaa kyselyn seuraavasti:
VALITSE * FROM sample_db.country_informationWHERE alue > 2 000 000 JA asukas_per_km_q > 100 ;
Edellisessä esimerkissä käytämme WHERE-lausetta ja AND-operaattoria kahden ehdon määrittämiseen. AND-operaattorin käyttö kertoo SQL:lle, että molempien ehtojen TÄYTYY täytyä, jotta tietue voidaan sisällyttää tulosjoukkoon.
Tämän pitäisi palauttaa vain maat, jotka täyttävät määritetyt kriteerit seuraavasti:
Tarkastellaan muita operaattoreita määrittääksesi useat ehdot WHERE-lauseessa.
SQL TAI operaattori
OR-operaattorin avulla voimme määrittää useat ehdot WHERE-lauseessa. Silti toisin kuin JA-operaattori, joka edellyttää kaikkien ehtojen täyttymistä, TAI-operaattori edellyttää, että vähintään yksi ehdoista täyttyy.
Voit esimerkiksi valita maat, joiden pinta-ala on suurempi kuin 2000000 tai joiden väestö (neliökilometriä kohti) on suurempi kuin 100, voimme suorittaa seuraavan kyselyn:
VALITSE * FROM sample_db.country_informationWHERE alue > 2 000 000 TAI asukasluku_per_km_sq > 100 ;
Tässä tapauksessa kyselyn pitäisi palauttaa tulokset seuraavasti:
SQL IN -operaattori
Voimme myös käyttää IN-operaattoria määrittääksesi useita arvoja sarakkeelle. Jos haluat esimerkiksi valita maat, joiden nimi sisältää merkkijonot 'Yhdysvallat' ja 'Venäjä', voimme suorittaa kyselyn seuraavasti:
VALITSE * FROM sample_db.country_informationMISSÄ maa ( 'Yhdysvallat' , 'Venäjä' ) ;
Tulos:
SQL EI operaattori
NOT-operaattori mahdollistaa tietyn ehdon kumoamisen.
Valitse esimerkiksi maat, joissa ei ole määritettyä aluetta ja suosittuja neliökilometriä kohti:
VALITSE * FROM sample_db.country_informationMISSÄ EI aluetta > 2 000 000 JA asukas_per_km_q > 100 ;
Tulos:
SQL useita operaattoreita
Voimme myös yhdistää useita operaattoreita monimutkaisempien ehtojen määrittämiseksi.
VALITSE * FROM sample_db.country_informationMISSÄ ( country_information.area > 2 000 000 JA asukas_per_km_q > 100 ) TAI maa = 'Kiina' ;
Lähtö:
Tässä esimerkissä käytämme sulkeita ryhmitelläksemme kaksi ensimmäistä ehtoa, jotta ne arvioidaan yhtenä ehtona ennen kuin niitä verrataan kolmanteen ehtoon.
Johtopäätös
Opimme käyttämään WHERE-lausetta useiden ehtojen määrittämiseen SQL:ssä. Lisäksi käsittelimme AND-, OR-, IN- ja NOT-operaattorit ja keksimme, kuinka yhdistää niitä monimutkaisempien olosuhteiden luomiseksi.