Mitä SQL on

SQL (Structured Query Language) on standardoitu kyselykieli, jota käytetään relaatiotietokantojen hallintaan ja käsittelyyn. Sen avulla voit esimerkiksi lisätä, hakea, muokata ja poistaa tietoja.

SQL ei ole varsinaisesti ohjelmointikieli, vaan niin sanottu deklaratiivinen kyselykieli. Se kuvaa mitä halutaan tehdä, mutta ei sitä, miten toiminto toteutetaan teknisesti. Toisin kuin imperatiivisissa ohjelmointikielissä, käyttäjä ei ohjaa kyselyn suoritusta. Sen sijaan tietokannan optimointikoneisto päättää suorituspolusta – usein hyvin tehokkaasti.

SQL ei ole ohimenevä trendi. Sen juuret ulottuvat 1970-luvulle, jolloin IBM:n tutkimus irrotti tietojen säilytyksen loogisesta esittämisestä. Tämä innovaatio mahdollisti uudenlaisen, tehokkaamman tavan järjestellä tietoa, ja sen päälle kehitettiin myöhemmin SQL. SQL:n standardointi alkoi 1980-luvulla, ja siitä lähtien SQL on ollut tietokantojen de facto kyselykieli.

SQL:n osaaminen on kriittinen taito niin ohjelmistokehittäjille, data-analyytikoille, markkinoijille kuin järjestelmäasiantuntijoille. SQL on nykyään läsnä kaikkialla, ja sen osaaminen on hyödyllistä useimmissa työtehtävissä. Esimerkiksi lähes kaikki data- ja analytiikkatyökalut, verkkokaupat ja julkaisujärjestelmät tukevat SQL:n käyttöä.

Miten kirjoitan ja testaan SQL-kyselyn?

SQL-kysely laaditaan yleensä tietokannan omassa hallintatyökalussa tai erillisessä SQL-editorissa.

Kyselyn laatiminen alkaa tarpeen määrittelystä: mitä tietoa haetaan, mistä taulusta se löytyy ja millä ehdoilla se haetaan? Esimerkiksi, jos haluat listata kaikkien HR-osaston työntekijöiden nimet, kysely voisi näyttää tältä:


SELECT nimi FROM tyontekijat WHERE osasto = 'HR';


Kun kysely on kirjoitettu, se suoritetaan testitietokannassa. Tällöin tulosjoukkoa tulisi tarkastella: palauttaako kysely oikean määrän rivejä, sisältävätkö sarakkeet oikeat arvot jne. Tarvittaessa muokkaa tai optimoi kyselyä – esimerkiksi lisäämällä ehtoja, rajaamalla kyselyä tai määrittämällä lajittelujärjestys.

Useimmat tietokannat tarjoavat omat graafiset työkalunsa SQL-kyselyiden kirjoittamiseen. PostgreSQL käyttää pgAdmin-työkalua, Microsoftin SQL Server käyttää SQL Server Management Studiota (SSMS), ja MySQL:lle on tarjolla MySQL Workbench. Nämä kehitysympäristöt tarjoavat hyödyllisiä lisäominaisuuksia, kuten syntaksin tarkistuksen ja automaattisen täydennyksen.

SQL standardi ja dialektit

SQL-kielestä on olemassa sekä standardisoitu muoto, ANSI-SQL. Lisäksi SQL-kielestä on olemassa tietokantakohtaisia murteita eli dialekteja. Eroa näiden välillä voi verrata Suomen kirjakieleen ja murteisiin - jokainen ymmärtää kirjakieltä, mutta murteet ovat käytössä yleisempiä. Dialektien erot liittyvät syntaksin ja nimeämisen kaltaisiin yksityiskohtiin. Esimerkiksi Microsoft SQL Serverissä nykyinen aika haetaan seuraavalla SQL-kyselyllä:


SELECT GETDATE();  


Microsoft Accessissa vastaava kysely kirjoitetaan hieman eri tavalla:


SELECT Now();  


Vaikka eri tietokantamoottoreilla on omat laajennuksensa, SQL itsessään on standardisoitu kieli. Tämä mahdollistaa osaamisen siirtämisen järjestelmästä toiseen ilman, että täytyy opetella täysin uusi kyselylogiikka.

Tärkeimmät SQL-dialektit ovat:

Tunnetuimmat SQL-kieltä tukevat tietokantajärjestelmät

Tunnetuimpia SQL-tietokantoja ovat PostgreSQL, MySQL (ja siitä irtaantunut MariaDB), Microsoft SQL Server, Oracle Database, SQLite ja Microsoft Access. Jokaisella tietokannalla on omat erityispiirteensä, jotka vaikuttavat myös SQL:n käyttöön: