資料庫系統 空值 null

孫哥說天下發表於2020-12-18

元組的某些屬性值是可以為空的

null表示未知值或值不存在
涉及空的任何算術表示式的結果為空
聚集函式會忽略空值
可以返回空值作為結果
我們遵循SQL對空值的處理語義
為了消除重複和分組,空值和其他值同等對待
一種方法是兩個空值被認為是相同的
另一種方法是假設每個空值都是不同的
這兩種方法都可行,但我們更願意遵循SQL對空值的處理語義

與空值的比較將返回一個特殊值:unknown
如果用false代替unknown,那麼not(A<5)與 A>=5 的結果就會不相

使用特殊值unknown的三值邏輯:
OR: (unknown or true) = true (unknown or false = unknown (unknown or unknown) = unknown
AND: (true and unknown) = unknown (false and unknown) = false
(unknown and unknown) = unknown
NOT: (not unknown) = unknown

空值

在SQL中,如果謂詞P的值為unknown,那麼“P is unknown”的值為 真
如果選擇謂詞的值為unknown,那麼選擇謂詞的結果被認為false


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

相關文章