Database-Recommendation

是否有任何數據庫引擎可以根據現有的外鍵來直覺連接條件?

  • May 2, 2011

對我來說奇怪的是,當我定義了一個外鍵時,引擎不能使用這個資訊來自動找出正確的 JOIN 表達式,而是要求我重新輸入相同的子句。是否有任何數據庫,也許是某種研究項目,可以檢查現有的外鍵?

我不知道有任何使用外鍵(如果您有多個外鍵返回同一張表,那可能會很混亂)

但是,如果您沒有指定特定的連接類型或連接條件,或者如果您使用NATURAL JOIN

如果能寫這個真的很酷

from calendar join table1

並且 dbms 會知道它需要對此進行評估。

from calendar
left join table1 on (work_date between (cal_date - 13) and cal_date)

真的很酷。但並非每個 join 都是equi-join

FWIW,NATURAL JOIN在 SQL 標準中。但我很確定在過去的 25 年裡我沒有使用過它。

如果您發現自己一遍又一遍地編寫相同的連接子句,也許您只需要更多視圖。

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