dual虛擬表在oracle和mysql中left join的問題

近期在開發過程中遇到一個問題,同樣一句簡單sql在oracle和mysql中的支持程度不同。

SELECT 1 FROM DUAL LEFT JOIN (SELECT 1 FROM DUAL) B ON 1 = 1

這句在Oracle中能正常執行,但是在MySQL(本地測試環境10.3.13-MariaDB)就會報錯。

需要調整爲

SELECT 1 FROM (SELECT 1 FROM DUAL) a LEFT JOIN (SELECT 1 FROM DUAL) B ON 1 = 1

在生成臨時表後才允許外關聯。

後續需要注意這點。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章