02. juli 2007 - 00:56Der er
2 kommentarer og 1 løsning
Forstår ikke forskellen på disse forespørgsler
Jeg har lige købt en bog (Grundlæggende programmering i SQL) da der er nogle grund-metoder jeg aldrig helt har fået på plads. INNER JOINS: Hvad er forskellen på følgende to metoder?
1) SELECT navn FROM kunder INNER JOIN ordrer ON Kunder.kundenr <> Ordrer.kundenr
2) Select K.navn from kunder k, order o where k.kundenr <> o.kundenr
den første er fra bogen og nr 2 er måden jeg normalt ville gøre det på.
Jeg kan til nød se idéen i en left/right join, men kan ikke lige komme i tanke om nogen steder jeg selv kunne ha' brugt den.
HAVING:
1) select navn, count(by) as P from kunder where navn like 'Pet%' group by Navn having count(by)>1
2) select navn, count(by) as P from kunder where navn like 'Pet%' and count(by)>2 group by navn
Jeg har aldrig set "Having" før?
Nå, men jeg render jo nok ind i flere ting, men det var da lidt at starte på.
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Der er ikke nogen funktionel forskel. Det første er den nye måde at gøre det på. Det andet er den gammeldages måde at gøre det på. Det er nogen gange lidt nemmere at overskue med INNER JOIN syntax fordi man kan sætte parenteser - og man kan ændre en INNER JOIN til en LEFT JOIN hvsi nødvendigt.
WHERE udføres før GROUP BY. HAVING udføres efter GROUP BY. Men gør ellers det samme.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.