• SQL NULL深入探究


          正常观念来说,对于判断只有是与否两个逻辑,而在SQL中还有NULL,在SQL这个环境中,算是三值逻辑。

          NULL到底是什么? 是值?一个常量?变量?都不是!NULL既不是值也不是变量,NULL只是一个表示“没有值”的标记,它只是一个标记而已。

          在SQL中我们对于NULL的判断是:IS NULL 或者 IS Not NULL,而不是用比较符号如:=NULL 或 >NULL 或 <NULL 或 <> NULL 或 NULL=NULL,原因就是NULL只是一个标记,对于标记不可能使用比较符号去比较。

          对于=NULL 或 >NULL 或 <NULL 或 <> NULL 或 NULL=NULL可以理解为unknow,unknow是关系型数据库中第三个布尔型真值,表示“未知”的意思。

          那么true,false,unknow三者关系如下:

    • NOT 真值表:
    X Not X
    true false
    unknow unknow
    false true
    • AND 真值表
    AND true unknow false
    true true unknow false
    unknow unknow unknow false
    false false false false
    • OR 真值表
    OR true unknow false
    true true true true
    unknow true unknow unknow
    false true unknow false
    • 优先级顺序
      AND:false > unknow > true
      OR: true > unknow >false
  • 相关阅读:
    一起学Python:协程
    一起学Python:字符串介绍
    一起学Python:列表介绍
    一起学Python:字典介绍
    一起学Python:元组
    函数介绍
    函数参数和函数返回值
    CodeForces 680A&680B&680C&680D Round#356
    POJ 3481 set水过
    BZOJ 1037 生日聚会 DP
  • 原文地址:https://www.cnblogs.com/wangqilong/p/12540343.html
Copyright © 2020-2023  润新知