大話Oracle null

Jujay發表於2012-02-07
--&gtnull與in:null值不會包含在in的結果集中。
A105024@O02DMS1>select * from test;

        ID NAME
---------- --------------------
         1 A
             B
         3 C

A105024@O02DMS1>select * from test where id in (1);

        ID NAME
---------- --------------------
         1 A

A105024@O02DMS1>select * from test where id not in(1);

        ID NAME
---------- --------------------
         3 C

從上面的例子我們可以看出,不管是in還是not in,null值都不在結果集中,除非顯示的宣告:
A105024@O02DMS1>select * from test where id is null;

        ID NAME
---------- --------------------
           B

--&gtnull與“加減乘除等於”的關係:null不能用來進行等於比較;與任何東西的加減乘除的結果都是null。
A105024@O02DMS1>select * from test where id = null;

no rows selected

A105024@O02DMS1>select id+1 from test where id is null;

      ID+1
----------

--&gtnull與集合運算的關係:集合運算中將所有的null作為相等的值來對待。
A105024@O02DMS1>select null from dual union select null from dual;

N
-

A105024@O02DMS1>select null from dual minus select null from dual;

no rows selected

--&gtnull與Group by 的關係:group by把null作為一個值來對待。
A105024@O02DMS1>select id,count(*) from test group by id;

        ID   COUNT(*)
---------- ----------
         1          1
                     1
         3          1

--&gtnull與Order by的關係:order by 預設排序規則是將空值放在最後(不管是升序還是降序),除非在order by後面加上nulls first。
A105024@O02DMS1>select * from test order by id;

        ID NAME
---------- --------------------
         1 A
         3 C
            B

A105024@O02DMS1>select * from test order by id desc;

        ID NAME
---------- --------------------
            B
         3 C
         1 A

A105024@O02DMS1>select * from test order by id nulls first;

        ID NAME
---------- --------------------
            B
         1 A
         3 C
--&gtnull與聚合函式的關係聚合函式如sum,avg,min,max將忽略null值,一個例外是count,count(*)包含null值,而count(列名)不包含null值。
A105024@O02DMS1>select count(*) from test;

  COUNT(*)
----------
         3

A105024@O02DMS1>select count(id) from test;

 COUNT(ID)
----------
         2







來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26277071/viewspace-715771/,如需轉載,請註明出處,否則將追究法律責任。

相關文章