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 SELECT lause: tiedon haku ja suodatus

SELECT-lauseen avulla valitaan taulukosta haluttu data. SQL-kyselyn tulos tallennetaan nk. tulostaulukkoon eli tulosjoukkoon (resultset).


SELECT <Sarake> FROM <Taulukko>

Esimerkiksi seuraava kysely hakee asiakastunnisteen, etunimen ja sukunimen asiakkaat-taulusta:


SELECT a_ID,a_etunimi,a_sukunimi,  
FROM Asiakkaat; 

Jos haluamme vaihtaa sarakkeiden järjestystä tulosjoukossa, vaihdamme vain kenttien järjestystä kyselyssä. Lisäksi ORDER BY määrään avulla on mahdollista määrittää minkä kentän mukaan data järjestetään:


SELECT a_ID,a_sukunimi,a_etunimi,  
FROM Asiakkaat
ORDER BY a_sukunimi ASC, a_etunimi ASC; 

Mikäli halutaan palauttaa kaikki mahdolliset kentät käytetään jokerimerkintää * :


SELECT *   
FROM Asiakkaat;

Predikaatin DISTINCT avulla voimme pakottaa kyselyn palauttamaan ainoastaan tietueet, joissa määrätty kenttä on yksilöllinen:


SELECT DISTINCT kenttä(t) 
FROM taulukko; 

Esimerkiksi:


SELECT DISTINCT a_yritys    
FROM Asiakkaat; 

SELECT-kyselyn rajaaminen WHERE ehdolla

SELECT-lauseen WHERE ehdon avulla voidaan rajata SQL-kyselyn palauttamaa tulosjoukkoa asettamalla palautettavalle datalle kelpoisuusrajoituksia.


SELECT kenttä(t) 
FROM taulukko 
WHERE kenttä operaattori arvo 

Esimerkiksi:


SELECT a_ID,a_etunimi,a_sukunimi,  
FROM Asiakkaat 
WHERE a_ID < 50 ; 

Mahdolliset operaattorit ja niiden syntaksi on selostettu SQL:n operaattoreita esittelevässä sarjassa. Alla kertaus keskeisimmistä:

OperaattoriKäyttötarkoitus
=Yhtäsuuruus
<>Erisuuruus
>Suurempi kuin
<Pienempi kuin
>=Suurempi tai yhtäsuuri kuin
<=Pienempi tai yhtäsuuri kuin
LIKEKuten (merkkijonovertailut)
ANDJA (looginen operaattori)
ORTAI (looginen operaattori)
NOTEI (looginen operaattori)

Mikäli WHERE ehdon avulla vertaillaan numeerista dataa, ei arvon ympärille välttämättä tarvitse sijoiteta hipsukoita:


SELECT a_ID,a_etunimi,a_sukunimi,  
FROM Asiakkaat 
WHERE a_ID < 50 ; 

Mikäli WHERE ehdon avulla vertaillaan merkkijonoja, arvon ympärille tulisi sijoittaa hipsukat


SELECT a_ID,a_etunimi,a_sukunimi,  
FROM Asiakkaat 
WHERE a_yritys LIKE 'KK Mediat'

Ehtoja voidaan luonnollisesti myös yhdistää ja niissä voidaan käyttää jokerimerkintöjä:


SELECT a_ID,a_etunimi,a_sukunimi,  
FROM Asiakkaat 
WHERE a_ID < 50 AND a_yritys LIKE '%KK%';