person
|
kurs
|
elevKurs
|
laererKurs
|
Equi betyr 'lik', d.v.s at vi foretar en join på likhet.
En equi-join er en type inner-join.
|
=> |
|
En theta-join er en type inner-join.
I en theta-join tester man på ulikhet eller mengde/størrelse,
og bruker da operatorene >, <, >=, <=, != <>.
|
=> |
|
En natural join er egentlig bare en vanlig equi-join.
|
=> |
|
En cross-join som ikke har noen WHERE kalles også kartesisk produkt.
En cross-join som har en WHERE oppfører seg som en inner-join.
|
=> |
|
Self-join vil si at man lager en join på en og samme tabell
SELECT DISTINCT e1.* FROM elevKurs e1, elevkurs e2 WHERE e1.kursid = e2.kursid AND e1.blokk = e2.blokk AND e1.elevid != e2.elevid; |
=> |
|
SELECT kursid, blokk, p.* FROM laererKurs l, person p WHERE l.laererid *= p.personid; |
= |
SELECT kursid, blokk, p.* FROM laererKurs l LEFT OUTER JOIN person p ON p.personid = l.laererid; |
=> |
|
SELECT kursid, blokk, p.* FROM laererKurs l, person p WHERE l.laererid =* p.personid; |
= |
SELECT kursid, blokk, p.* FROM laererKurs l RIGHT OUTER JOIN person p ON p.personid = l.laererid; |
=> |
|
(SELECT kursid, blokk, p.* FROM laererKurs l, person p WHERE l.laererid *= p.personid) UNION (SELECT kursid, blokk, p.* FROM laererKurs l, person p WHERE l.laererid =* p.personid) ORDER BY personid, kursid; |
= |
SELECT kursid, blokk, p.* FROM laererKurs l FULL OUTER JOIN person p ON p.personid = l.laererid; |
=> |
|
Elin K. Ajer Andreassen, 2004