SELECT 1: Utvalg av data
Her skal vi sjå korleis vi kan henta ut deler av tabellen "elevar" på vha SELECT-kommandoen. Her i del 1 gjer vi bare utvalg frå ei fil, uten å behandla resultatet. I del 2 ser vi på korleis vi kan presentera summar, gjennomsnitt osv av rader, og i del 3 ser vi korleis vi kan hentar data frå to eller fleir filer vha såkalte joins.
1. Heile tabellen
Hvis vi vil ha ut alle data, så bruker vi stjerne (*) fordi vi vil ha ut alle kolonner, og ingen betingelsar, for vi vil ha alle rader:
SELECT * FROM elevar;
2. Utvalgte kolonner
Hvis vi vil ha ut bare kolonnene Navn og Alder, så skriv vi det i staden for *:
SELECT Navn, Alder FROM elevar;
Frå no av bruker vi *, og får derfor ut alle kolonnene. Men vi kan bruka kolonnenavn på alle kommandoane nedanfor også, om vi vil.
3. Utvalgte rader
Hvis vi vil ha ut alle som har navnet Per, så kan vi gjera det med WHERE:
SELECT * FROM elevar WHERE Navn = 'Per';
Merk at vi bruker ' rundt Per. Resten av eksempela handlar alle om variantar av WHERE.
4. Utvalg med AND
WHERE kan ha fleire betingelsar. Hvis vi feks. bare vil ha ut elevar som heiter Per og som er 17 år, så kan vi kombinera to betingelsar med å bruka AND:
SELECT * FROM elevar WHERE Navn = 'Per' AND Alder = 17;
Merk at sidan vi her bare fekk ut den eine rada, så kunne vi også gjort denne select-en vha. ID-en, slik:
SELECT * FROM elevar WHERE ID = 3;
5 Utvalg med OR
Hvis vi bruker OR, så får vi ut alle rader som oppfyller den eine eller den andre:
SELECT * FROM elevar WHERE Navn = 'Per' OR Alder = 17;
6 Utvalg med større enn-operatoren
Hvis vi vil ha ut alle elevar som er eldre enn 16, så kan vi bruka denne større-enn-operatoren (">"):
SELECT * FROM elevar WHERE Alder > 16;
Vi kan også bruka større eller lik (">="), mindre enn ("<") og mindre eller lik ("<=").
7 BETWEEN
Ein annan aktuell operator er BETWEEN. Hvis vi vil ha ut elevar som er mellom 16 og 18 år, kan vi skriva:
SELECT * FROM elevar WHERE Alder BETWEEN 16 AND 18;8 Liste med verdiar
Det er mulig å sjekka på ei liste med verdiar vha IN. Vil vi ha ut elevar som har hobbyen Håndball eller Sykling, kan vi skriva:
SELECT * FROM elevar WHERE Hobby IN ('Håndball','Sykling');
9 Mønster
Så har vi også muligheten for å få ut alle som har ein hobby som endar på "ball" vha LIKE-operatoren:
SELECT * FROM elevar WHERE Hobby LIKE '%ball';
Her er "%" eit såkalt wildcard, som kan stå for ein eller fleir karakterer.
10 Unike verdiar
Som siste eksempel skal vi sjå korleis vi kan få ut bare unike hobbyar, dvs ingen duplikater vha. DISTINCT-operatoren::
SELECT DISTINCT Hobby FROM elevar;