Join
加入條件順序
給定一個像這樣的簡單查詢
SELECT * FROM table_a a inner join table_b b on b.id_from_a = a.id
on
子句的順序重要嗎?在上面的例子中,我總是把最近加入的表放在等號的左邊,在右邊我把第一個表將
SELECT * FROM table_a a inner join table_b b on a.id = b.id_from_a
以同樣的方式執行?
這一點都不重要。使用您喜歡的任何風格。
on 子句的順序重要嗎?
在 inner join 的情況下,不,順序無關緊要
您的查詢將執行(給出)相同的結果。
唯一的疑問是性能方面。連接順序可以/可能影響哪個索引是最佳選擇,這取決於使用的 dbms,您可以使用執行計劃來檢查結果。