• MYSQL | 'NULL' 对查询的影响


    在创建表时,经常要给某些列设置 NOT NULL 的约束。可是为什么我们尽量不使用 NULL 呢?这里记录几个简单的例子

    一、排重时

    在使用 DISTINCT 时,NULL 也被视为一类数据,NULL 存在于多行中时,也会被合并为一条 NULL 的数据.

    二、算术运算

    所有包含 NULL 的计算,结果必然是 NULL。如:

    1)5 + NULL

    2)1 * NULL

    3)NULL / 0 (数字除以 0 会报错,只有 NULL 除以 0 结果仍然是 0)

    三、比较运算

    因为 NULL是不确定值,所以 SQL 无法判断其是否符合条件,故不会入选。如:

    SELECT  
        student_id,
        student_name
    FROM
        Studens
    WHERE
        student_id <>10;

    若有同学的 student_id 为空(NULL),无法判断是否为 10,所以改同学不会被取出(只会取出 SQL 已知 student_id 不等于 10 的记录)

    四、逻辑运算

    NULL 的存在,会使 逻辑运算除了 TRUE 与 FALSE,增加第三种值:NUKNOWN(不确定)

    其中需要注意的情况是:

    1)真 AND 不确定:不确定

    2)假 AND 不确定:假

    3)真 OR 不确定:真

    4)假 OR 不确定:不确定

  • 相关阅读:
    启发式搜索学习~~
    bzoj1032
    bzoj1037
    bzoj1029
    codevs1081 线段树练习 2
    bzoj1006
    bzoj1003
    Codeforces 607B Zuma
    20155326《网络对抗》网络欺诈技术防范
    20155326刘美岑 Exp6 信息收集与漏洞扫描
  • 原文地址:https://www.cnblogs.com/ykit/p/15543637.html
Copyright © 2020-2023  润新知