Når SQL kommer på eksamen, er det sjelden nok å kunne noen få kommandoer utenat. Du må forstå hvordan du leser tabellstrukturer, tolker oppgaver og bygger spørringer som svarer presist på det som blir spurt om. Denne artikkelen viser hvordan du kan øve målrettet, slik at du er trygg både på teori og praksis. Se også [eksamensstrategi for programmering](/ressursbank/artikler/programmering/) og [databaser i undervisning](/ressursbank/artikler/databaser/) for mer kontekst.
Tenk på øving som tre nivåer: først må du kunne grunnleggende syntaks, deretter må du kunne lese og forstå en database, og til slutt må du kunne forklare løsningen din med egne ord. Når alle tre nivåene sitter, blir du mye roligere på eksamen.
Hva slags SQL-oppgaver møter du ofte?
I eksamensoppgaver møter du ofte små databaser med to til fire tabeller. Du kan bli bedt om å finne bestemte rader, sortere resultatet, gruppere informasjon eller koble sammen tabeller. Noen ganger skal du også forklare hva en gitt spørring gjør, eller rette en spørring som inneholder feil.
Det betyr at du ikke bare må kunne skrive SQL, men også lese SQL. Lesing er ofte det som skiller en middels løsning fra en sterk løsning. Hvis du skjønner hva en eksisterende spørring gjør, blir det mye enklere å endre den til det oppgaven ber om. Øv derfor på begge deler: å skrive fra bunnen av og å analysere kode du allerede ser.
Slik leser du en oppgave riktig
Start alltid med å markere hva oppgaven faktisk ber om. Hvilke data skal vises? Skal du hente alle eller bare noen? Skal du bruke en eller flere tabeller? Finnes det en betingelse? Må resultatet sorteres eller oppsummeres? Når du svarer på disse spørsmålene før du skriver kode, unngår du mange klassiske feil.
En god teknikk er å oversette oppgaven til norsk setning først. For eksempel: «Vis navn og pris på alle produkter som koster mer enn 200 kroner, sortert etter pris fra høyest til lavest.» Når du kan si dette tydelig, blir SQL-språket bare en strukturert versjon av samme tanke.
En typisk eksamensstruktur
Forestill deg at du får en database med elever, fag og karakterer. Oppgaven kan be deg om å vise alle elever i en bestemt klasse, finne gjennomsnittskarakteren i et fag, eller koble elever og karakterer. Da bør du tenke slik:
- Hvilken tabell inneholder startinformasjonen?
- Hvilken kolonne brukes som nøkkel?
- Trenger jeg WHERE, GROUP BY eller JOIN?
- Hvordan skal resultatet sorteres?
- Kan jeg forklare løsningen med egne ord etterpå?
Denne fempunktsmodellen gjør det lettere å holde orden under tidspress.
Øv på de viktigste byggeklossene