MySQL中null值具有特殊性:
1、判断是否为null值只能使用is null或is not null语句;
2、任何值(包括null值)与null做比较时,都会返回null;
3、在分组子句中,null值相等因此将null值分为一组;
4、在排序子句中,null值相等,且null值小于任何非null值;
5、在唯一索引中,null值不相等,唯一索引中可以存在多个null值记录。建议将唯一索引的列设置为not null
6、在in子查询的查询结果集中是否包含null值对于最终查询结果并无影响,即where id in (null,1,2,3)等价于where id in(1,2,3);
7、在not in 子查询的查询结果中如果包含null值则最终查询结果集为空,即where id not in(null,1,2,3)等价于where 1=2。建议在not in子查询中重点关注是否存在返回null的情况。