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

在生成临时表后才允许外关联。

后续需要注意这点。

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