Join

加入條件順序

  • June 30, 2022

給定一個像這樣的簡單查詢

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,您可以使用執行計劃來檢查結果。

引用自:https://dba.stackexchange.com/questions/313953