それは同じですが、暗黙的で地獄のように曖昧です クロス結合。明示的なJOINSを使用します。
WHERE句に参加している場合、結果は 結合とフィルターが混同されているため、異なります。
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)
注:
- 内部結合と交差結合は可換で連想的です。通常、順序は重要ではありません。
- 外部結合は、あなたが特定したものではありません
- SQLは宣言型です。オプティマイザーに、実行方法ではなく、必要なことを指示します。これにより、JOINの注文に関する考慮事項が削除されます(前の2つの項目が適用されます)