SELECT

SELECT * from table_navn
velger alt fra en tabell

Vi kan gjøre avanserte spørringer med select, ofte i kombinasjon
med from
where
and
or
group by
order by
having

11 eksempler:

Spørsmål 1:

select kurs.KursNavn, COUNT(student_kurs.KID) as AntallStudenter
from kurs, student_kurs
where kurs.KID = student_kurs.KID
group by student_kurs.KID
/

-- Spørsmål 2:

select kurs.KursNavn, student.ForNavn, student.EtterNavn
from kurs, student, student_kurs
where kurs.KID = student_kurs.KID and student_kurs.SID = student.SID and kurs.KursNavn = "Java"
/

--Spørsmål 3:
select student.ForNavn, student.EtterNavn, kurs.KursNavn
from kurs, student, student_kurs
where kurs.KID = student_kurs.KID and student_kurs.SID = student.SID and student.SID = 3
/

--Spørsmål 4:
select student.ForNavn, student.EtterNavn, COUNT(student_kurs.SID) as "Antall kurs"
from student, student_kurs
where student_kurs.SID = student.SID
group by student.ForNavn, student.EtterNavn
having COUNT(student_kurs.SID) >3
order by "Antall kurs" desc

/

--Spørsmål 5:
select kurs.KursNavn, avg(student_kurs.Karakter) as Gjennomsnittskarakter,
sum(student_kurs.Karakter > 4.0 )/ count(student_kurs.Karakter) * 100 as Strykprosent
from kurs, student_kurs
where kurs.KID = student_kurs.KID
group by kurs.KID
/

--Spørsmål 6:
-- AVG MAX MIN COUNT s.90
select student.ForNavn, student.EtterNavn, max(student_kurs.Karakter) as "Beste Karakter",
min(student_kurs.Karakter) as Dårligste, avg(student_kurs.Karakter) as Gjennomsnitt
from student, student_kurs
where student.SID = student_kurs.SID
group by student.ForNavn, student.EtterNavn
/

--Spørsmål 7:
select foreleser.ForNavn as "Lærer:", foreleser.EtterNavn as "",
student.ForNavn as "Student:", student.EtterNavn as "", student_kurs.Karakter
from foreleser, kurs, student, student_kurs
where foreleser.FID = kurs.FID AND kurs.KID = student_kurs.KID AND
student.SID = student_kurs.SID AND foreleser.FID = 2
group by "Lærer:", "", "Student", "", student_kurs.Karakter

/
-- Spørsmål 8:
select kurs.KursNavn, kurs_rom.UkeDag, rom.RomNavn as Rom, kurs_rom.DagsOkt as "Økt nummer"
from kurs_rom, rom, kurs
where rom.RID = kurs_rom.RID AND kurs.KID = kurs_rom.KID AND kurs.KID = 5
/


--Spørsmål 9:
select student.ForNavn, student.EtterNavn, kurs_rom.UkeDag, rom.RomNavn as Rom, kurs_rom.DagsOkt as "Økt nummer"
from kurs_rom, rom, kurs, student_kurs, student
where rom.RID = kurs_rom.RID AND kurs.KID = kurs_rom.KID AND kurs.KID = student_kurs.KID
AND student.SID = student_kurs.SID AND student.SID = 1
order by kurs_rom.UkeDag, "Økt nummer"
/


--Spørsmål 10:
select rom.RomNavn as Rom, kurs.KursNavn, kurs_rom.UkeDag, kurs_rom.DagsOkt as "Økt nummer"
from kurs_rom, rom, kurs
where rom.RID = kurs_rom.RID AND kurs.KID = kurs_rom.KID AND rom.RID = 1
order by kurs_rom.UkeDag, "Økt nummer"
/

--Spørsmål 11:
select foreleser.Fornavn as Lærer, foreleser.EtterNavn as "", kurs_rom.UkeDag, kurs_rom.DagsOkt as "Økt nummer",
kurs.KursNavn, rom.RomNavn as Rom
from foreleser, kurs_rom, rom, kurs
where foreleser.FID = kurs.FID AND rom.RID = kurs_rom.RID AND kurs.KID = kurs_rom.KID
AND foreleser.FID = 2
order by kurs_rom.UkeDag, "Økt nummer"
/

 

 

 

 

 

 

 

 

 

 

DELETE

Slette innholdet i ei rad

DELETE FROM tabell
WHERE COLUMN = en verdi

EKS:
DELETE FROM person
WHERE etternavn = "Larsen"

eller, hvis tabellen f.eks har to primær - nøkler
DELETE FROM student_kurs
WHERE KID = 6
AND SID = 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

INSERT

INSERT INTO tabell_navn (kolonne_navn, kolonne_navn)
VALUES (Verdi1, Verdi2)

Eksempel:

INSERT INTO student (Passord, ForNavn, EtterNavn, Epost, KID)
VALUES ("", "Sven", "Bisgaard", "SveBi@tellus.no", 1);
/

I eksempelet over settes Passord tomt slik "", mens primærnøkkelfeltet
som er satt til auto increment, ikke taes med i det hele. Dermed
oppdateres det automatisk.

 

 

 

 

 

 

 

 

 

 

 

REPLACE

for å bytte ut data i db

 

 

 

 

 

 

 

UPDATE

Oppdatere en tabell:

UPDATE tabell_navn
SET kolonne_navn = ny verdi
WHERE kolonne_navn = en annen verdi

Eksempel:

UPDATE student
SET Passord = 11
WHERE SID = 1