[閒聊] 各家的SQL都有自己的脾氣啊..
最近工作上接觸到的DBMS換成了informix.
原本從MySQL接觸到MS SQL Server時,
以為SQL Server已經算是有個性了。
想不到這下informix的脾氣也滿大的(誤
像是子查詢裡不能用order(好像是)
想用這篇來稍微聊一下各家SQL一些常用上的語法差異
以ORDER By來說
以往在MySQL跟SQL Server上,Order By的條件跟SELECT是脫勾的
可以獨立出來運作
不過informix卻是要在SELECT column出現的才能Order的樣子
舉個例子,依最後登入時間來依序列出使用者
MySQL跟SQL Server是這樣的
SELECT *
FROM user U
ORDER BY (SELECT max(login_time) FROM log L WHERE L.uid=U.uid)
而informix要這樣
SELECT *,(SELECT max(login_time) FROM log L WHERE L.uid=U.uid) as log_time
FROM user U
ORDER BY log_time DESC
還滿奇特的..
不知道Oracle又是怎樣~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.116.202.164
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):