当前位置: 首页 > 编程笔记 >

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

马俊
2023-03-14
本文向大家介绍oracle逻辑运算符与其优先级简介,包括了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自动备份控制文件方法介绍  、 oracle逻辑结构分析 、  oracle 数据库启动阶段分析 、  oracle 虚拟专用数据库详细介绍等。有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对小牛知识库网站的支持。

 类似资料:
  • 为什么JVM不遵守它自己的规则。以下面的例子为例。 结果是: 而实际结果应该是,根据&运算符是在运算符之前求值的事实: 对于为什么没有正确实现这一点,有一些解释会很好。即使在第二部分周围添加括号,也没有使用正确的优先级。

  • 问题内容: 下面的两个语句是否等效? 和 我可以使用某种真值表来验证这一点吗? 问题答案: 优先于,因此,即使 与…不同 因为那将被执行为 并且想要使它们相同的是以下内容(使用括号覆盖优先级规则): 这是一个示例说明:

  • 问题内容: 下面的两个语句是否等效? 和 我可以使用某种真值表来验证这一点吗? 问题答案: 优先于,因此,即使 与…不同 因为那将被执行为 并且想要使它们相同,是以下内容(使用括号覆盖优先级规则): 这是一个示例说明:

  • 这是我在StackOverflow上的第一个问题,因此我想以前有人在这里问过,但是我在搜索栏中键入的所有内容都给了我不同的问题。(或者有时根本没有结果!) 我正在学习w3Schools,但我看到了这个看似简单的代码片段,它引发了一小部分问题: 本质上,守则说: 在这种特殊情况下,“test”在成功时返回字符串,在失败时返回(布尔)FALSE。 以下是在我心中激起的问题。 > 至于条件/if语句开头

  • 从高到低顺序如下: ^ not - (一元运算) * / + - ..(字符串连接) < > <= >= ~= == and or

  • 如果你有一个如2 + 3 * 4那样的表达式,是先做加法呢,还是先做乘法?我们的中学数学告诉我们应当先做乘法——这意味着乘法运算符的优先级高于加法运算符。 下面这个表给出Python的运算符优先级,从最低的优先级(最松散地结合)到最高的优先级(最紧密地结合)。这意味着在一个表达式中,Python会首先计算表中较下面的运算符,然后在计算列在表上部的运算符。 下面这张表(与Python参考手册中的那个