oracle逻辑运算符与其优先级简介
oracle的逻辑运算符也是用在sql语句中必不可少的因素,一共有三个
逻辑运算符 |
意义 |
and |
双值运算符,如果左右两个条件都为真,则得到的值就为真 |
or |
双值运算符,只要左右两个条件有一个为真,则得到的值就为真 |
not |
单指运算符,如果原条件为真,则得到真,如果元条件为假,反之如果原条件为假,则结果为真 |
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 |
is [not] null,[not] like,[not] in |
4 |
[not] between-and |
5 |
not |
6 |
and |
|
or |
通常使用‘()'可以改变运算符的优先级。
需要注意的是and的优先级要优于or,也就是说
下面的语句
select * from emp where sal < 1500 or sal >= 2000 and job = ‘analyst';
等价于
select * from emp where sal < 1500 or (sal >= 2000 and job = ‘analyst');
而不是你所预期的
select * from emp where (sal < 1500 or sal >= 2000) and job = ‘analyst';
一般我们即使我们要表达第一个语句所要表达的意思,为了避免误解,都不采取第一种写法,而是用括号来表明我们要先算后面的部分。
总结
本文关于oracle逻辑运算符与其优先级简介就到这里,希望对大家有所帮助。感兴趣的朋友可以参阅:oracle rman自动备份控制文件方法介绍 、 、 、 等。有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对网站的支持。
推荐阅读
-
Java运算符:算数运算符、自增自减、赋值运算符、关系运算符、逻辑运算符、条件运算符、运算符优先级等Tips
-
oracle逻辑运算符与其优先级简介
-
python中的逻辑运算符、条件运算符、优先级、算术运算符、赋值运算符、比较运算符
-
Java菜鸟学习之路---算术运算符、赋值运算符、比较运算符、逻辑运算符、位运算符、三元运算符、运算符的优先级详解(三)
-
Java运算符:算数运算符、自增自减、赋值运算符、关系运算符、逻辑运算符、条件运算符、运算符优先级等Tips
-
python基础学习之逻辑运算符、成员运算符、运算符优先级
-
js运算符优先级的比较及js逻辑运算符的解析
-
c语言中逻辑运算符优先级是什么?
-
js运算符优先级的比较及js逻辑运算符的解析
-
c语言逻辑运算符的优先级是怎样的