and 和 or 的执行条件
select *
from emp
where deptno = 10
or comm is not null
or sal <= 2000 and deptno = 20;
在这个实例中where子句找到了如下的数据:
- deptno 等于 10,或
- comm 不为NULL,或
- deptno 等于20 且工资不高于2000的员工
or将前后的关系并列,有or的出现,使where子句进行分段。效果相当于:
select *
from emp
where deptno = 10
or comm is not null
or (sal <= 2000 and deptno = 20);
如果将上述的代码进行修改:
select *
from emp
where deptno = 10
and comm is not null
or sal <= 2000 and deptno = 20;
where子句找到如下数据:
- deptno 等于 10 ,且comm 不为NULL,或
- sal <= 2000 且 deptno 等于 20