最近在精进一些SQL语法时,实际操作才发现语法不是任何环境都可以。
就我的理解,在MS-SQL、MySQL、及PostgreSQL的大部分语言都一样,但是有些语法只能用在一个里面。
例如:
rank () over (order by...)
dense_rank () over (order by...)
这语法我在MySQL无法执行,后来才发现这好像只有PostgreSQL才能用……。
还有,由于我公司的DB受制于cetus,有些语法又不能用,例如某些条件下的join……。
通常大家是怎么判断,有时query出现错误讯息,不是因为写错,而是因为该环境不允许?
类似这样的事情实在很恼人…简单的语法很多时候就变成要绕一大圈。