最近在精進一些SQL語法時,實際操作才發現語法不是任何環境都可以。
就我的理解,在MS-SQL、MySQL、及PostgreSQL的大部分語言都一樣,但是有些語法只能用在一個裡面。
例如:
rank () over (order by...)
dense_rank () over (order by...)
這語法我在MySQL無法執行,後來才發現這好像只有PostgreSQL才能用……。
還有,由於我公司的DB受制於cetus,有些語法又不能用,例如某些條件下的join……。
通常大家是怎麼判斷,有時query出現錯誤訊息,不是因為寫錯,而是因為該環境不允許?
類似這樣的事情實在很惱人…簡單的語法很多時候就變成要繞一大圈。