C'est pareil mais c'est ambigu comme l'enfer avec l'implicite CROSS JOIN. Utilisez des JOINS explicites.
Si vous vous joignez à la clause WHERE, les résultats peuvent diffèrent car les jointures et les filtres sont mélangés.
SELECT ....
FROM apples a
JOIN
bananas b ON ...
JOIN
oranges o ON ...
LEFT JOIN
kiwis k ON k.orange_id = o.id
WHERE (filters only)
Remarques :
- INNER JOINS et CROSS JOINS sont commutatifs et associatifs :l'ordre n'a généralement pas d'importance.
- Les jointures externes ne sont pas celles que vous avez identifiées
- SQL est déclaratif :vous dites à l'optimiseur ce que vous voulez, pas comment le faire. Cela supprime les considérations de commande JOIN (sous réserve des 2 éléments précédents)