ITPub博客

首页 > Linux操作系统 > Linux操作系统 > MSSQL、INF7“及ORA9去看COUNT(*)與COUNT(1)的區別

MSSQL、INF7“及ORA9去看COUNT(*)與COUNT(1)的區別

原创 Linux操作系统 作者:yxxiao 时间:2008-07-15 11:59:47 0 删除 编辑
最近總是看到有網友在討論COUNT(*)與COUNT(1)的區別.
按理,這沒有必要去深入去研究,但常言道:沒有實踐就沒有發言權.為此,我也實踐了一下.
我用的DB有如下三種:
1.MS SQL 2000.
2.INFORMIX 7.3
3.ORACLE 9.2.6
我測試發現,SQL2000與ORACLE都支持COUNT(1)語法,但INFMIX不認識COUNT(1).
INFORMIX只認識COUNT(*).
   眾所周知,老師教給大家的都是標准的SQL語法,COUNT(*)是大家都知道的.
但為何微軟和甲骨文都要引進這個COUNT(n)呢?(說明:其中這個n是數字或常量).
個中緣由,目前不得而知.以後有機會再去查證.
但我認為,COUNT(*)與COUNT(1)的區別,就相當於普通話的他,和粵語中的"佢"吧.
即兩者沒有什麼區別,結果都是一樣的.
   退一步講,如果兩者真的不一樣的話,那一定是大事件了,即INFORMIX一定會有對應的修正說明出來,可到如今的DB2,都沒有相應的文檔,即這根本不是大事件,也可以說,微軟和甲骨文後來引進的COUNT(1),純屬多余,當然有些網友會說1比SHIFT+8簡略省事.但我們在乎的是一個結果,而不必去深究這一形式.否則"盡信書不如無書!"

mssql1.gif

mssql2.gif

infsql1.gif

infsql2.gif

orasql1.gif

orasql2.gif

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/13856521/viewspace-401645/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-04-14

  • 博文量
    17
  • 访问量
    18472