近期在开发过程中遇到一个问题,同样一句简单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
在生成临时表后才允许外关联。
后续需要注意这点。