首页 >数据库 >Oracle >oracle中not的用法是什么

oracle中not的用法是什么

WBOY
WBOY原创
2022-01-21 10:35:014763浏览

在oracle中,not用于对指定的条件取反,当指定的条件为真时,not的结果就是假,当指定的条件为假时,not的结果就是真,语法为“Select where not 条件表达式”。

oracle中not的用法是什么

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle中not的用法是什么

Oracle的逻辑运算符也是用在SQL语句中必不可少的因素,一共有三个

逻辑运算符 意义

  • and 双值运算符,如果左右两个条件都为真,则得到的值就为真

  • or 双值运算符,只要左右两个条件有一个为真,则得到的值就为真

  • not 单指运算符,又称取反运算符,NOT通常是单目运算符,即NOT右侧才能包含表达式,是对结果取反,如果表达式结果为True,那么NOT的结果就为False;否则如果表达式的结果为False,那么NOT的结果就为True。

Oracle的逻辑运算符也是用在SQL语下面使一些例子:

Select * from emp where sal > 2000 and job = ‘SALESMAN';

寻找那些工资高于2000的且职位为销售的职员。

Select * from emp where job = ‘CLERK' or deptno = 20;

寻找那些工作为CLERK或者所在部门标号为20的职员的列表

Select * from emp where not (sal > 3000 or sal < 1500);

寻找那些工资既不大于3000也不小于1500,也即在1500到3000范围的员工,相当于:select * from emp where sal between 1500 and 3000;

结合到前面所列出的各类运算符,在这里汇总一下oracle中所有运算符的优先级句中必不可少的因素,一共有三个

运算符 级别

  • 算术运算符(即‘+',‘-',‘*',‘/') 1

  • 连接运算符(即‘||') 2

  • 比较运算符(即‘>',‘>=',‘') 3

通常使用‘()'可以改变运算符的优先级。

需要注意的是and的优先级要优于or,也就是说下面的语句

Select * from emp where sal < 1500 or sal >= 2000 and job = ‘ANALYST&#39;;

等价于

Select * from emp where sal < 1500 or (sal >= 2000 and job = ‘ANALYST&#39;);

而不是你所预期的

Select * from emp where (sal < 1500 or sal >= 2000) and job = ‘ANALYST&#39;;

一般我们即使我们要表达第一个语句所要表达的意思,为了避免误解,都不采取第一种写法,而是用括号来表明我们要先算后面的部分。

推荐教程:《Oracle教程

以上是oracle中not的用法是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn