在MySql中,NOT IN是用来查询不在某个值集的数据。
NOT IN的使用需要注意NULL值判断,如果数据库查询出来的字段值为NULL时,NOT IN是走不通的,如:

SELECT name, age FROM USER WHERE age NOT IN(12,13)

上面这个sql语句用于查询user表中age不等于12或13的所有用户,如果有一个用户没有添加age信息,此时数据库中该字段为NULL,那么这条数据是查不出来的,如果想要查出age为NULL的数据,可以判空来解决:

SELECT name, age FROM USER WHERE IFNULL(age, '') NOT IN(12,13)
Logo

更多推荐