NOT 运算符的 SQL 用法,简单实用,逻辑清晰,适合你排除条件时用。嗯,多初学者在写查询语句时都绕不开这个运算符,但写得好坏差别还挺大。
SQL 里的NOT IN
,顾名思义就是“排除在外”。你可以理解成一张员工表里,要查那些不是CLERK
、MANAGER
或ANALYST
的员工。用法如下:
SELECT last_name, job_id
FROM employees
WHERE job_id NOT IN ('CLERK','MANAGER','ANALYST');
这句 SQL 语法挺直观,重点在NOT IN
的列表写法。注意括号内的值必须是匹配字段类型的,别一个写字符串,一个写数字,那就歇菜了。执行后会过滤掉这三类职位,剩下像PRESIDENT
、SALESMAN
这种。
顺手提一句,字段类型匹配关键。你写job_id NOT IN (123, 456)
,但job_id
是VARCHAR
,结果就不对了。还有一个坑,列表里有NULL
也会让结果出错。记得加点判断逻辑,避开这些坑。
如果你 SQL 用得还不太熟,可以顺便看看这篇MySQL 运算符的文章,讲得还蛮清楚,配图多,适合入门。
所以,NOT IN这个操作不算难,但写得顺手,查得精准,还是得多练。如果你在搞报表、做数据排查,那这个写法你会常用。