Bo Rattenborg in his distress wrote:
<snip>
>hvad gør LEFT JOIN og hvad er forskellen på LEFT og RIGHT join ?
LEFT JOIN er en forkortelse for LEFT OUTER JOIN.
For at forstå forskellen mellem et join og et outer join må jeg tage et
par eksempler i brug.
Tabel1:
Id
1
2
3
Tabel2:
Id
2
3
4
"Select * from tabel1 join tabel2 on tabel1.id = tabel2.id" giver
tabel1.id tabel2.id
2 2
3 3
her "forsvinder" værdierne 1 (fra tabel1) og 4 (fra tabel2).
Benytter vi i stedet "Select * from tabel1 left outer join tabel2 on
tabel1.id = tabel2.id" angiver vi, at *alle* værdier fra tabel1 (den
venstre) skal medtages. Da der ikke i alle tilfælde findes matchende
værdier i tabel2, indsættes i disse tilfælde NULL. Vi får derfor
tabel1.id tabel2.id
1 NULL
2 2
3 3
Tilsvarende giver "Select * from tabel1 right outer join tabel2 on
tabel1.id = tabel2.id":
tabel1.id tabel2.id
2 2
3 3
NULL 4
Endelig findes der "Select * from tabel1 full outer join tabel2 on
tabel1.id = tabel2.id" som giver:
tabel1.id tabel2.id
1 NULL
2 2
3 3
NULL 4
Slut på dagens lektion.
> Jeg er klar over at jeg skal have købt en SQL bog
Jeps!
--
Kristian Damm Jensen | Feed the hungry at
www.thehungersite.com
kristian-damm.jensen@cgey.com | Two wrongs doesn't make a right,
ICQ# 146728724 | but three lefts do.