一、SQL中空值判斷使用is null還是= null?
首先先給出答案,使用select 屬性 from 表 where 欄位 is null,
那么為什么不使用 = 呢?
在SQL邏輯中包含三種邏輯值,true、false、unknown,
任何值(包括null本身)與null進行邏輯判斷時都會回傳結果unknown,
接著,在where和having’子句中unknown結果會被視作false,這也就是為什么使用 = null的時候什么結果都沒有的原因,
當然,并非所有的unknown都會被當作false處理的,在check約束中,unknown被當作true進行處理,也就是說null >= 0的回傳結果時true,
在group by陳述句中,所有的null被視作相同,所以null會被分在一個組中,
二、聚集函式
常見的聚集函式有:sum,count,max,min,avg,
那么在聚集函式中,null的元組值如何處理呢?
結論是:除了count以外的所有聚集函式,都會自動忽視null的值進行執行,
三、其他
null在算數運算中進行運算的話,回傳的結果是null,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/234953.html
標籤:其他
下一篇:SQL每日刷題—day3
