Comportement de jointure par défaut MySQL : percer le mystère
En tant que programmeur naviguant dans le domaine MySQL, il est crucial de comprendre le comportement de jointure par défaut pour garantir récupération de données efficace et précise. Cet article explore les différences entre la syntaxe JOIN non qualifiée, la virgule (,) et les clauses WHERE dans MySQL, fournissant des réponses claires à vos questions urgentes.
Quel est le comportement de jointure MySQL par défaut ?
Contrairement à de nombreux autres dialectes SQL, MySQL utilise par défaut INNER JOIN lors de l'utilisation d'une instruction JOIN non qualifiée. Cela signifie que seules les lignes correspondantes entre deux tables sont renvoyées, où la condition de jointure est satisfaite.
Par conséquent, les deux requêtes suivantes sont équivalentes :
<code class="sql">SELECT * FROM t1 JOIN t2; SELECT * FROM t1 INNER JOIN t2;</code>
Qu'en est-il de la syntaxe des virgules ?
La syntaxe virgule (,), également héritée de la norme ANSI-89, a un objectif similaire à celui de JOIN. Cependant, il souffre de plusieurs inconvénients, notamment :
Conclusion
Bien que la syntaxe des virgules ait une signification historique, il est fortement recommandé de toujours utiliser la syntaxe JOIN pour plus de clarté, maintenabilité et cohérence. Le comportement INNER JOIN par défaut de MySQL peut être facilement modifié à l'aide des clauses OUTER JOIN si nécessaire. En adoptant la syntaxe JOIN, vous garantissez une récupération précise des données et évitez les pièges courants associés à la syntaxe virgule.
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!