MySQL同样是WHERE关键字 为什么一个报错一个正确?

同样是where关键字 为什么一个报错一个正确,这其中的or和and有什么关联 求告知!

SELECT * FROM employees WHERE NOT(employee_id<100 AND employee_id>120);

img

报错结果:SELECT * FROM employees WHERE NOT(employee_id<100 AND employee_id>120)

1054 - Unknown column 'NOT(employee_id' in 'where clause'
Time: 0s

但是在这个问题下这个案例中这个语句又是正确的

SELECT * FROM employees WHERE NOT (department_id>=90 AND department_id<=110) OR salary> 15000;

img

希望有人能回答T T

where后面一般是紧接字段的, NOT更多会和IN, EXIST这些运算符一起使用, WHERE中使用NOT不会给工作带来太大的简化
你可以看到你所谓正确的第二句查询并没有达到预期的效果, ID的判断没有被执行

报错的是字段不存在employee_id

因为你"NOT(employee_id"这个中间的括号是全角的,导致把这一串都当成一个字段了,
not在某些时候是很有用的,楼上说不会带来太大简化,不够恰当