Det är samma sak men det är tvetydigt som fan med det implicita KORS FÖRENAR. Använd explicita JOINS.
Om du går med i WHERE-satsen så kan resultaten skiljer sig eftersom kopplingar och filter blandas ihop.
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)
Anmärkningar:
- INNER JOINS och CROSS JOINS är kommutativa och associativa:ordning spelar vanligtvis ingen roll.
- YTTRE JOINS är inte, vilket du identifierade
- SQL är deklarativt:du berättar för optimeraren vad du vill ha, inte hur man gör det. Detta tar bort JOIN-orderöverväganden (med förbehåll för de två föregående artiklarna)