Mycket flitig postare
|
|
Reg.datum: Oct 2004
Inlägg: 898
|
|
Mycket flitig postare
Reg.datum: Oct 2004
Inlägg: 898
|
Nej, du har fått två saker helt om bakfoten.
1) Att "joina" enbart i where-delen är precis samma sak som att "joina" i from delen. Databasmnmotorn kommer optimera frågan och kommer inte att skapa ett temporärt resultat med "antalrader1*antalrader2".
2) Hela grejen med outer join har du också fått om bakfoten. Du kan göra count och group by hur mycket du vill i en vanlig join. Det du gör med en outer join är att du får med resultat i tabell 1 som saknar motsvarighet i tabell 2:
Exempel:
tabell1:
ID NAMN FK
1 nisse 1
2 kalle 2
Tabell2:
ID NAMN
2 hansson
Vanlig join:
SELECT t1.namn, t2.namn FROM t1, t2 WHERE t1.fk = t2.id
Ger:
kalle hansson
Outerjoin:
SELECT t1.namn, t2.namn FROM t1, t2 WHERE t1.fk *= t2.id
Ger:
nisse NULL
kalle hansson
|