Oracle查询字段中有为null的需要格外注意

今天需要去数据库取一些数据

SELECT
	*
FROM
	T_JC_TEACHER_INFO
WHERE
	SCHOOL_CODE ='xxxxx'
AND TEACHER_TYPE = '专任教师'
AND AUDIT_STATE = '2'
AND ATTACHED_CLASS_TYPE IS NULL


 查出的数据大概如下 
  

Oracle查询字段中有为null的需要格外注意_第1张图片

可以看到ABNORMAL_TYPE_GROUP字段有两种值【减少类型】和【null】

此时我只需要ABNORMAL_TYPE_GROUP为null的数据

此时我新增了条件

SELECT
	*
FROM
	T_JC_TEACHER_INFO
WHERE
	SCHOOL_CODE ='xxxxx'
AND TEACHER_TYPE = '专任教师'
AND AUDIT_STATE = '2'
AND ATTACHED_CLASS_TYPE IS NULL
and ABNORMAL_TYPE_GROUP !='减少类型'


 
  

执行语句以后发现一条数据都没有查出来,后面改成如下写法才有用,不知道是什么原因导致的!

SELECT
	*
FROM
	T_JC_TEACHER_INFO
WHERE
	SCHOOL_CODE ='xxxx'
AND TEACHER_TYPE = '专任教师'
AND AUDIT_STATE = '2'
AND ATTACHED_CLASS_TYPE IS NULL
and (ABNORMAL_TYPE_GROUP !='减少类型' or ABNORMAL_TYPE_GROUP is null)


各位有知道原因的吗?

你可能感兴趣的:(javaweb,数据库)