SQL:n tärkein osa on tietokannan tietojen hakemiseen, muuttamiseen, lisäämiseen ja poistamiseen liittyvät käskyt, joita kutsutaan SQL:n Data Manipulation Language (DML) -osaksi. Vastaavasti SQL:stä löytyy myös Data Definition Language -käskyt joilla määritellään mm. taulujen rakennetta.
SQL ei ota kantaa siihen kuinka eri käskyt on jaoteltu eri riveille. Kaikki komennot voidaan kirjoittaa yhdelle riville tai jokainen sana omalle rivilleen. Selkeyden vuoksi on syytä käyttää jonkinlaista rivijakoa. Myös sisennyksellä voidaan selkiyttää SQL-lauseiden luettavuutta. Isoilla ja pienillä kirjaimilla ei ole SQL:ssä merkitystä. Usein on kuitenkin tapana luettavuuden ja selkeyden vuoksi kirjoittaa SQL:n omat varatut sanat isoilla kirjaimilla, kenttien nimet pienillä ja taulujen nimet aloittaen isolla kirjaimella.
SQL-92:ssa kommentit alkavat kahdella viivalla (--). Joissain tuotteissa on käytössä myös C/C++-tyylinen kommentointitapa eli /* tässä on kommentti */.
Tämän kirjan esimerkeissä käytettävät taulut, niiden sisältämät tietueet on esitetty tauluissa 1-4. [Kuva 1] kertoo taulujen väliset viite-eheydet.
|
Sotu |
Sukunimi |
Etunimi |
Katuosoite |
Postinumero |
Puhelin |
Laitosnro |
Aloitusvuosi |
|
010177-333A |
Meikäläinen |
Masa |
Masankuja 1 |
31600 |
1 |
1998 |
|
|
100132-9876 |
Wanha |
Gubbe |
Mäntytie 1 |
30100 |
03-0000000 |
3 |
1990 |
|
100135-0000 |
Wanha |
Gubbe |
Koivukuja 5 |
40700 |
014-000000 |
2 |
1980 |
|
110573-111Y |
Heinonen |
Petri |
Kivatie 16 |
74700 |
014-654321 |
1 |
1989 |
|
111170-7070 |
Vilkas |
Ville |
Ylioppilaskylä |
40740 |
014-601234 |
1 |
1990 |
|
121273-000X |
Lahtonen |
Tommi |
Pimee kuja 3 |
31600 |
014-123456 |
1 |
1995 |
|
300375-1234 |
Meikäläinen |
Maija |
Masankuja 1 |
31600 |
1 |
1995 |
Taulu 1 Oppilaat
|
Postinumero |
Kaupunki |
|
30100 |
Forssa |
|
31600 |
Jokioinen |
|
33101 |
Tampere |
|
40351 |
Jyväskylä |
|
40700 |
Jyväskylä |
|
40740 |
Jyväskylä |
|
74700 |
Kiuruvesi |
Taulu 2 Kaupunki
|
Sotu |
Kurssitunnus |
Pvm |
Arvosana |
|
010177-333A |
TIE001 |
1.1.1995 |
3 |
|
010177-333A |
TIE110 |
12.3.1998 |
1,75 |
|
010177-333A |
TIE110 |
14.5.1998 |
0 |
|
010177-333A |
TIE110 |
19.9.1998 |
1 |
|
010177-333A |
TIE160 |
12.5.1999 |
1 |
|
100135-0000 |
TIE160 |
1.1.1995 |
2,25 |
|
111170-7070 |
TIE150 |
1.1.1995 |
1 |
|
121273-000X |
TIE001 |
1.1.1995 |
0 |
|
300375-1234 |
TIE110 |
1.8.2000 |
0 |
|
300375-1234 |
TIE140 |
12.3.1998 |
3 |
Taulu 3 Tentit
|
Kurssitunnus |
Kurssinnimi |
Laitosnro |
Laajuus |
|
TIE001 |
Tietotekniikan propedeuttinen kurssi |
1 |
1 |
|
TIE110 |
Johdatus ohjelmointiin |
1 |
4 |
|
TIE140 |
Mikrotietokonelaitteistot |
1 |
3 |
|
TIE150 |
Tietokannat |
1 |
2 |
|
TIE160 |
Mikrotietokoneiden ohjelmistot |
1 |
2 |
Taulu 4 Kurssit
Kuva 1. Taulujen väliset viite-eheysmäärittelyt