not In 相当于 all,
如果 Not In 后面跟的是子查询的话,
子查询中只要包含一个 null 的返回值,则会造成 整个 Not in 字句返回空值,结果就是查询不会返回任何结果。
而 in 相当于 =any 的意思,可以有效处理子查询中返回空值的情况,返回正确的结。
防止NOT IN 为空值的情况出现,可以在条件后面的判断加上判空语句
SELECT dataid FROM 表名 WHERE showflg = 1 and dataid IS NOT NULL
not In 相当于 all,
如果 Not In 后面跟的是子查询的话,
子查询中只要包含一个 null 的返回值,则会造成 整个 Not in 字句返回空值,结果就是查询不会返回任何结果。
而 in 相当于 =any 的意思,可以有效处理子查询中返回空值的情况,返回正确的结。
防止NOT IN 为空值的情况出现,可以在条件后面的判断加上判空语句
SELECT dataid FROM 表名 WHERE showflg = 1 and dataid IS NOT NULL