m0_60507715 2022-04-21 18:32 采纳率: 100%
浏览 49
已结题

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

  • 写回答

3条回答 默认 最新

  • 对象被抛出 2022-04-21 18:53
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月29日
  • 已采纳回答 4月21日
  • 创建了问题 4月21日