1)in的逻辑规则是or not in 的逻辑规则是 and
2)判断null 的sql语句为 is not null 或者 is null
3)当遇到 null = null 的判断是时由于不符合null的判断规则,所以结果一定为flase
- not in 中包含null值的情况
select *
from A
where A.name not in
(select B.name
from B )
在上面的not in的查询中如果B表的name字段存在空值时,不论何种情况上述语句的查询结果一定为空
- in 中包含null值的情况
select *
from A
where A.name in
(select B.name
from B )
在上面的 in 的查询中如果B表的name字段存在空值时,如果A表中存在name字段也存在空值,那么上述语句的查询结果中不会显示A表中的空值