本文通过一些实例验证逻辑运算之间的优先级
优先级顺序见下:
- 算数运算符
- 连接符
- 比较符(>,<,=)
- IS [NOT] NULL,LIKE, [NOT] IN
- [NOT] BETWEEN… AND…
- 不等于
- NOT
- AND
- OR
NOT 、OR、AND优先级比较
NOT与AND优先级比较
执行逻辑为 :输出emp表中全部内容,where not 1=2 and 2=3;
若先执行 and,则后面结果为真,则会输出表中全部内容;如果先执行 not 则where后面结果为假,则不输出结果,实验结果表明,NOT优先级高于AND。实验代码见下
SQL> select * from emp where not 1=2 and 2=3;
no rows selected
SQL> select * from emp where not (1=2 and 2=3); //先执行AND的结果
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
---------- ---------- --------- ---------- ---------- ---------- ---------- ----------
7369 SMITH CLERK 7902 1980-12-17 800 20