MySQL中的日期运算问题

MySQL中的一个问题 :

6.查询员工姓名,hire_date , department_id,满足以下条件:雇用时间在1997年之后,department_id为80 或 90 或110, commission_pct不为空

下面是代码

img

请问是什么原因?因为运算优先级的关系吗?

下面是大于和等于

情况一和情况二不一样的原因是,你没有把这几个或者条件用括号括起来,导致了它每一个条件都和and前面的变成了并列条件,正确的sql应该长这样

where A=B AND (C=1 OR C=2 OR C=3)

上下结果不一致,是因为你符号本就写得不一样,上面是大于1997年(不含1997年),下面是大于或者等于1997年