Es ist dasselbe, aber es ist höllisch mehrdeutig mit dem impliziten CROSS JOINs. Verwenden Sie explizite JOINS.
Wenn Sie sich der WHERE-Klausel anschließen, dann können die Ergebnisse angezeigt werden unterscheiden sich, weil Joins und Filter verwechselt werden.
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)
Hinweise:
- INNER JOINS und CROSS JOINS sind kommutativ und assoziativ:Die Reihenfolge spielt normalerweise keine Rolle.
- OUTER JOINS sind nicht die, die Sie identifiziert haben
- SQL ist deklarativ:Sie sagen dem Optimierer, was Sie wollen, nicht, wie es zu tun ist. Dadurch entfallen Überlegungen zur JOIN-Reihenfolge (vorbehaltlich der vorherigen 2 Punkte)