Modérateur PHPfrance |
10684 Messages
27 oct. 2011, 21:31
En fait cela dépend de ton type de jointure interne (inner) ou externe (outer).
Dans le premier cas, tu ne vas récupérer que les enregistrements qui ont un résultat dans chacune des tables liées. Dans ce cas là, tu peux effectivement utiliser la clause where aussi bien que la syntaxe join.
Dans le second, tu récupéreras les enregistrements de ta table principale même s'il n'y a pas de correspondance dans les tables liées. Dans ce cas, il te faut obligatoirement utiliser la syntaxe join.
Quoi qu'il en soit, la syntaxe join te permet également d'avoir une construction et une lecture simplifiée de tes requêtes. En effet, dans la construction de ta requête cela te permet de regrouper la liste des tables et les conditions qui les lient d'une part (join), et d'autre part avoir tout les prédicats qui vont réellement filtrer les résultats (where) :
Code : Tout sélectionner
SELECT ...
FROM ...
LEFT INNER JOIN .... ON ....
LEFT INNER JOIN .... ON ....
WHERE .....
AND ....
ORDER BY ...
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...