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

最近總是看到有網友在討論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簡略省事.但我們在乎的是一個結果,而不必去深究這一形式.否則"盡信書不如無書!"

fj.pngmssql1.gif

fj.pngmssql2.gif

fj.pnginfsql1.gif

fj.pnginfsql2.gif

fj.pngorasql1.gif

fj.pngorasql2.gif

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

转载于:http://blog.itpub.net/13856521/viewspace-401645/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值