服务器之家

服务器之家 > 正文

oracle逻辑运算符与其优先级简介

时间:2020-03-13 16:45     来源/作者:善敗將軍

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

 

逻辑运算符

意义

and

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

or

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

not

单指运算符,如果原条件为真,则得到真,如果元条件为假,反之如果原条件为假,则结果为真

 

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

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

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

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

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

  

?
1
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,也就是说

下面的语句

?
1
Select * from emp where sal < 1500 or sal >= 2000 and job = ‘ANALYST';

等价于

?
1
Select * from emp where sal < 1500 or (sal >= 2000 and job = ‘ANALYST');

而不是你所预期的

?
1
Select * from emp where (sal < 1500 or sal >= 2000) and job = ‘ANALYST';

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

总结

本文关于oracle逻辑运算符与其优先级简介就到这里,希望对大家有所帮助。

原文链接:http://www.cnblogs.com/dongxiaoguang/archive/2013/03/18/2966647.html

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
返回顶部