SQL

SQL KOULUTUSTA VUONNA 2025!

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

SQL:n joukko-operaattorit: IN, BETWEEN ja UNION

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.

Joukko-operaattorit

Joukko-operaattoreiden avulla voidaan yhdistää kahden eri SQL-kyselyn tuloksia ja kohdentaa kyselyitä arvojoukkoon (yksittäisten arvojen asemasta). Kaikki joukko-operaattorit vaativat, että kyselyissä on sama määrä sarakkeita ja että sarakkeet ovat yhteensopivia tietotyypeiltään.

IN-operaattori

IN-operaattorilla voidaan verrata sarakkeen arvoa useaan vaihtoehtoon ilman pitkää OR-ketjua. Se tekee kyselystä helpommin luettavan ja ylläpidettävän:


SELECT Merkki, Malli, Hinta
FROM Autot
WHERE Malli IN ('LADA','SKODA', 'VOLVO' );

Vastaava OR-operaattoria käyttävä kysely olisi paljon pidempi ja vaikeampi ylläpitää:


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


BETWEEN-operaattori

BETWEEN-operaattorilla tarkistetaan, kuuluuko arvo tietyllä välillä olevien rajojen sisään. Se soveltuu erityisesti lukuarvojen tai päivämäärien vertailuun:


SELECT Merkki, Malli, Hinta
FROM Autot
WHERE Hinta BETWEEN 10000 AND 50000;


UNION – yhdistä ilman kaksoiskappaleita

UNION palauttaa kahden kyselyn tulokset, mutta poistaa kaksoisarvot (eli saman rivin esiintymät). Alla oleva kysely palauttaa kaikki eri automerkit molemmista tauluista:


SELECT Merkki FROM Autot
UNION 
SELECT Merkki FROM Menopelit;

UNION ALL – yhdistä säilyttäen kaksoiskappaleet

UNION ALL toimii kuten UNION, mutta se ei poista kaksoisarvoja. Alla oleva kysely voi siis palauttaa saman merkin useita kertoja:


SELECT Merkki FROM Autot
UNION ALL 
SELECT Merkki FROM Menopelit;

INTERSECT – leikkaus

INTERSECT eli leikkaus palauttaa vain rivit, jotka löytyvät molempien kyselyiden tulosjoukoista:


SELECT Merkki FROM Autot
INTERSECT 
SELECT Merkki FROM Menopelit;

MINUS - erotus

MINUS eli erotus palauttaa ensimmäisen kyselyn rivit, jotka eivät ole mukana toisessa kyselyssä.


SELECT Merkki FROM Autot
MINUS 
SELECT Merkki FROM Menopelit;