SQL

SQL KOULUTUSTA VUONNA 2025!

Kurssit saatavilla kautta Suomen. Tule ja varaa oma koulutustapahtumasi heti! Koulutuksen järjestää asiantuntijasi Koulutus- ja konsultointipalvelu KK Mediat.

Kuinka rajata kyselyn vaikutusaluetta SQL:n vertailuoperaattoreilla

Operaattorit ovat SQL-lauseiden osia, joiden avulla tietoja voidaan vertailla, yhdistellä ja muokata osana kyselyä. Ne määrittävät, millä ehdoilla ja logiikalla tietoa käsitellään — tämän takia ne ovat olennainen SQL-kielen toimintaa. Operaattorit voidaan jakaa kuuteen ryhmään: aritmeettiset, vertailu, merkki, loogiset, joukko ja muut operaattorit.

Vertailuoperaattorit

Vertailuoperaattoreilla vertaillaan lausekkeiden arvoja. Vertailu voi palauttaa yhden kolmesta loogisesta arvosta: tosi (True), epätosi (False) tai määrittämätön (Null)

Yhtäsuuruus

SQL-kielessä yhtäsuuruus merkitään =. Se on yleisin WHERE-ehdossa käytetty vertailuoperaattori. Tällöin sen avulla haetaan tietueet, joiden arvo vastaa täsmälleen annettua arvoa:


SELECT Merkki, Malli, Hinta 
FROM Autot
WHERE Hinta = 50000;

Jos tietokannassa on useita saman arvon sisältäviä tietueita, palauttaa kysely kaikki ehdot täyttävät tietueet.

Vaikka SQL itsessään ei ole nk. Case Sensitive, niin merkkijonoarvon yhtäsuuruutta vertaillessa ISOT ja pienet kirjaisimet tarkoittavat eri asiaa. Tästä syystä esimerkiksi alla oleva kysely ei todennäköisesti palauta tietueita:


SELECT Merkki, Malli, Hinta 
FROM Autot
WHERE Malli = 'LADA';

Suurempi kuin ja pienempi kuin operaattorit

Vertailuoperaattorit suurempi kuin > ja pienempi kuin < mahdollistavat suuruus- ja pienuusvertailut. Näihin voi yhdistää yhtäsuuruuden, jolloin yhtäsuuruusoperaattori sijoitetaan vertailuoperaattorimerkin oikealle puolelle — eli >= ja <=.


SELECT Merkki, Malli, Hinta 
FROM Autot
WHERE Hinta <= 50000;

Numeeristen arvojen lisäksi ne toimivat myös merkkijonoilla. Tällöin vertailu perustuu aakkosjärjestykseen ja käytettyyn merkistöön (esim. UTF8). Useimmissa järjestelmissä isot kirjaimet tulevat ennen pieniä. Alla olevassa esimerkissä pyydetään palauttamaan kaikki autot, joiden malli on aakkosjärjestyksessä ennen tai sama kuin 'LADA'.


SELECT Merkki, Malli, Hinta 
FROM Autot
WHERE Malli <= 'LADA';

Erisuuruus

Joskus halutaan hakea kaikki tietueet, jotka eivät vastaa tiettyä arvoa. Tätä varten käytetään erisuuruutta merkitsevää operaattoria <>.


SELECT Merkki, Malli, Hinta 
FROM Autot
WHERE Malli <> 'LADA';

Toinen vaihtoehtoinen syntaksi erisuurudelle on !=, mutta <> on SQL-standardin mukainen muoto.