ehezhmxnezklb
Nieuwe gebruiker
- Lid geworden
- 7 sep 2008
- Berichten
- 1
Hoi allemaal!
Ik zit met een lastige kwestie. Ik geraak er maar niet uit welke van volgende queries de meest geschikste is
Er zijn niet zoveel tabellen, en ze bevatten ook weining inhoud, dus ze geven allemaal 16ms uitvoeringstijd aan. Kan iemand me leren wanneer welke syntax te gebruiken? (en ook de select vs join, want ik vind de select er altijd het korste uitzien)
-- Subquery
SELECT TEAMNR, COUNT(WEDSTRIJDNR)
FROM WEDSTRIJDEN
WHERE TEAMNR IN
(SELECT TEAMNR
FROM TEAMS T, SPELERS S
WHERE T.SPELERSNR = S.SPELERSNR
AND PLAATS = 'Zoetermeer')
GROUP BY TEAMNR;
-- Select
SELECT W.TEAMNR, COUNT(WEDSTRIJDNR)
FROM WEDSTRIJDEN W, TEAMS T, SPELERS S
WHERE W.TEAMNR = T.TEAMNR
AND T.SPELERSNR = S.SPELERSNR
AND PLAATS = 'Zoetermeer'
GROUP BY W.TEAMNR;
-- Join
SELECT T.TEAMNR, COUNT(WEDSTRIJDNR)
FROM TEAMS T INNER JOIN SPELERS S ON
T.SPELERSNR = S.SPELERSNR
LEFT JOIN WEDSTRIJDEN W ON
T.TEAMNR = W.TEAMNR
WHERE S.PLAATS = 'Zoetermeer'
GROUP BY T.TEAMNR;
Alvast vriendelijk bedankt!
Mvg,
Thomas
Ik zit met een lastige kwestie. Ik geraak er maar niet uit welke van volgende queries de meest geschikste is

-- Subquery
SELECT TEAMNR, COUNT(WEDSTRIJDNR)
FROM WEDSTRIJDEN
WHERE TEAMNR IN
(SELECT TEAMNR
FROM TEAMS T, SPELERS S
WHERE T.SPELERSNR = S.SPELERSNR
AND PLAATS = 'Zoetermeer')
GROUP BY TEAMNR;
-- Select
SELECT W.TEAMNR, COUNT(WEDSTRIJDNR)
FROM WEDSTRIJDEN W, TEAMS T, SPELERS S
WHERE W.TEAMNR = T.TEAMNR
AND T.SPELERSNR = S.SPELERSNR
AND PLAATS = 'Zoetermeer'
GROUP BY W.TEAMNR;
-- Join
SELECT T.TEAMNR, COUNT(WEDSTRIJDNR)
FROM TEAMS T INNER JOIN SPELERS S ON
T.SPELERSNR = S.SPELERSNR
LEFT JOIN WEDSTRIJDEN W ON
T.TEAMNR = W.TEAMNR
WHERE S.PLAATS = 'Zoetermeer'
GROUP BY T.TEAMNR;
Alvast vriendelijk bedankt!

Mvg,
Thomas