INNER JOIN
er ANSI-syntaks, som du skal bruge.
Det anses generelt for at være mere læseligt, især når du deltager i mange tabeller.
Den kan også nemt udskiftes med en OUTER JOIN
når et behov opstår.
WHERE
syntaks er mere relationel modelorienteret.
Et resultat af to tabeller JOIN
ed er et kartesisk produkt af de tabeller, hvorpå der anvendes et filter, som kun udvælger de rækker, der matcher sammenføjede kolonner.
Det er nemmere at se dette med WHERE
syntaks.
Med hensyn til dit eksempel, i MySQL (og i SQL generelt) er disse to forespørgsler synonymer.
Bemærk også, at MySQL også har en STRAIGHT_JOIN
klausul.
Ved at bruge denne klausul kan du styre JOIN
rækkefølge:hvilken tabel er scannet i den ydre løkke og hvilken der er i den indre løkke.
Du kan ikke styre dette i MySQL ved hjælp af WHERE
syntaks.