SQL 復合查詢前提(AND,OR,NOT)對NULL值的處置辦法。本站提示廣大學習愛好者:(SQL 復合查詢前提(AND,OR,NOT)對NULL值的處置辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是SQL 復合查詢前提(AND,OR,NOT)對NULL值的處置辦法正文
以下是SQL中AND,OR,NOT的真值表。
表1 AND的真值表
TRUE
FALSE
NULL
TRUE
TRUE
FALSE
NULL
FALSE
FALSE
FALSE
FALSE
NULL
NULL
FALSE
NULL
表2 OR的真值表TRUE
FALSE
NULL
TRUE
TRUE
TRUE
TRUE
FALSE
TRUE
FALSE
NULL
NULL
TRUE
NULL
NULL
表3 NOT的真值表TRUE
FALSE
NULL
FALSE
TRUE
NULL
當兩個以上的查詢前提與AND、OR、NOT組應時,NOT的優先級最高,其次是AND,最初是OR。為了不歧義和確保可移植性最好應用括號。
A BETWEEN B AND C 等價於 (A>=B) AND (A<=C),是以依據真值表可以得出BETWEEN 子句中處置NULL值的規矩。
異樣,A IN(B,C,D) 等價於 (A=B)OR(A=C)OR(A=D), 依據真值表,只需這三個表達式中有一個為NULL,成果前往確定是NULL。
是以,BETWEEN子句和IN子句其實不增長SQL語句的表達才能。
SQL 中有NULL 值測試,即:字段 IS (NOT) NULL ,但它的前往成果只要兩種情形:TRUE或許FALSE。