null列的值不参与比较

假如数据库有表emp:

empno name   age
001      lucy      22
002      lily        null
003      lilei       null
004      lucy      null
005      pear      null
006      pear      null

当执行sql:

SELECT empno FROM `emp` where age != 22;

返回的竟然一条都没有;

结论:null值是不参与比较的, age != 22 , 所有null的那些列都被过滤去掉了.

关键时刻注意这个特性. 

 =====================

  1. 在SQL中,NULL值与任何其它值的比较(即使是NULL)永远不会为“真”。包含NULL的表达式总是会导出NULL值  

 http://doc.mysql.cn/mysql5/refman-5.1-zh.html-chapter/problems.html#problems-with-null

---[2016-10-26]---

你可能感兴趣的:(sql)