zoukankan      html  css  js  c++  java
  • NOT IN 后面如果出现了 NULL

    如果NOT IN操作后的列表中的任何项目求值为null,则所有行的求值为FALSEUNKNOWN,并且不返回任何行。例如,以下语句True为每一行返回字符串“ ”:

    从员工中选择“真”
       WHERE department_id NOT IN(10,20);

    但是,以下语句不返回任何行:

    从员工中选择“真”
        WHERE department_id NOT IN(10,20,NULL); 

    前面的示例不返回任何行,因为WHERE子句条件的计算结果为:

    department_id!= 10 AND department_id!= 20 AND department_id!=空 

    由于第三个条件department_id与null进行比较,因此结果为UNKNOWN,因此将得出整个表达式FALSE(对于department_id等于10或20的行)这种行为很容易被忽略,尤其是当NOT IN操作员引用一个子查询时

  • 相关阅读:
    spoj705
    bzoj2440
    spoj220
    bzoj2301
    hdu1695
    poj3294
    hdu3518
    poj3693
    函数
    样式
  • 原文地址:https://www.cnblogs.com/philipchan/p/14332851.html
Copyright © 2011-2022 走看看