Comportement de jointure MySQL : différences par défaut et de syntaxe
Lors de l'exécution d'opérations de jointure dans MySQL, le comportement par défaut est INNER JOIN. Cela signifie que MySQL ne renverra que les lignes correspondant dans les deux tables connectées par la condition de jointure. La syntaxe d'un INNER JOIN est :
SELECT * FROM t1 INNER JOIN t2 ON t1.id = t2.id
Le même résultat peut être obtenu en utilisant la syntaxe virgule :
SELECT * FROM t1, t2 WHERE t1.id = t2.id
Cependant, il est important de noter que la syntaxe virgule est considérée comme héritée. et présente certaines limitations.
Quand une clause JOIN est-elle différente d'une clause WHERE ?
Une JOIN est utilisée pour fusionner des lignes de plusieurs tables en fonction d'une condition spécifiée, tandis que une clause WHERE filtre les lignes d'une table. Lors de l'utilisation d'une clause WHERE avec plusieurs tables, telles que :
SELECT * FROM t1, t2 WHERE t1.id = t2.id
MySQL effectue une INNER JOIN implicite basée sur la condition WHERE. Cependant, si la clause WHERE est omise, MySQL effectuera un CROSS JOIN, qui renvoie toutes les combinaisons possibles de lignes des deux tables.
Avantages de l'utilisation de la syntaxe JOIN
Par rapport à la syntaxe virgule, la syntaxe JOIN offre plusieurs avantages :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!