Afgezien van de syntaxis, werken ze voor het kleine fragment precies hetzelfde. Maar als het enigszins mogelijk is, schrijf dan altijd nieuwe zoekopdrachten met ANSI-JOIN's.
Wat semantisch betreft, wordt de kommanotatie gebruikt om een CARTESIAN product tussen twee tabellen te produceren, wat betekent dat een matrix wordt geproduceerd van alle records uit tabel A met alle records uit tabel B, dus twee tabellen met respectievelijk 4 en 6 records produceren 24 records. Met behulp van de WHERE-component kunt u vervolgens de rijen kiezen die u echt wilt uit dit cartesiaanse product. MySQL volgt echter niet echt deze enorme matrix, maar semantisch is dit wat het betekent.
Een JOIN-syntaxis is de ANSI-standaard die duidelijker definieert hoe tabellen op elkaar inwerken. Door de ON
clausule naast de JOIN
, het maakt duidelijk wat de twee tabellen met elkaar verbindt.
Functioneel zullen ze hetzelfde uitvoeren voor uw twee zoekopdrachten. Het verschil ontstaat wanneer u andere [OUTER]
. gaat gebruiken JOIN-typen.
Specifiek voor MySQL heeft komma-notatie één verschil
STRAIGHT_JOIN lijkt op JOIN, behalve dat de linkertabel altijd vóór de rechtertabel wordt gelezen. Dit kan worden gebruikt voor die (enkele) gevallen waarin de join-optimizer de tabellen in de verkeerde volgorde plaatst.
Het zou echter niet verstandig zijn om op dit verschil te rekenen.