Denne artikkelen er laget for øving. Du får en serie med oppgaver og forklarte løsningsforslag som går fra enkle til mer krevende SQL-spørringer. Målet er at du skal se mønsteret i hvordan oppgavene bygges opp, og lære å skrive egne løsninger. Les også [oppgaver i programmering](/ressursbank/artikler/programmering/) og [tabeller og databaser](/ressursbank/artikler/tabeller/) for mer trening.
Tenk på oppgavene som et treningsprogram. Først ser du hva som skal hentes ut. Deretter velger du riktige kolonner, tabeller og betingelser. Når du løser flere oppgaver på rad, blir du tryggere på både syntaks og tenkemåte. Det viktigste er ikke å gjøre alt perfekt med en gang, men å forstå hvorfor en løsning fungerer.
Oppgave 1: vis alle produkter
Tabellen heter produkter og har kolonnene produkt_id, produktnavn og pris. Skriv en spørring som viser alle produktene.
Løsningsforslag
```sql SELECT FROM produkter; ```
Dette er den enkleste formen for utvalg. Stjernen betyr at alle kolonner tas med. I mange skoleoppgaver er det riktigere å velge spesifikke kolonner, men det er nyttig å kjenne denne varianten først.
Oppgave 2: vis navn og pris for alle produkter
Skriv en spørring som viser produktnavn og pris.
Løsningsforslag
```sql SELECT produktnavn, pris FROM produkter; ```
Her velger vi bare to kolonner. Dette er bedre enn SELECT når du bare trenger deler av tabellen. Det gjør resultatet ryddigere og tydeligere.
Oppgave 3: vis produkter som koster mer enn 500 kroner
Løsningsforslag
```sql SELECT produktnavn, pris FROM produkter WHERE pris > 500; ```
WHERE brukes til å filtrere på tall. Tegnet > betyr større enn. Du kan også bruke <, >=, <= og = når oppgaven krever det. Husk at filtreringen skjer før resultatet presenteres.
Oppgave 4: vis produkter sortert etter pris fra høyest til lavest
Løsningsforslag
```sql SELECT produktnavn, pris FROM produkter ORDER BY pris DESC; ```
DESC betyr synkende rekkefølge. Hvis du skulle sortere alfabetisk eller stigende etter pris, kunne du brukt ASC eller latt det stå uten spesifikasjon i noen systemer.
Oppgave 5: vis antall produkter i hver kategori
Tabellen produkter har kolonnene kategori og produktnavn. Skriv en spørring som teller hvor mange produkter som finnes i hver kategori.
Løsningsforslag
```sql SELECT kategori, COUNT() AS antall FROM produkter GROUP BY kategori; ```
Her samler GROUP BY alle rader med samme kategori. COUNT() teller antallet i hver gruppe. Dette er en klassisk oversiktsoppgave.