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

 更新时间:2017年09月30日 17:25:10   作者:善敗將軍  
这篇文章主要介绍了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 虚拟专用数据库详细介绍等。有什么问题可以随时留言,小编会及时回复大家的。感谢朋友们对脚本之家网站的支持。

相关文章

  • oracle 实际值超过数据库某个字段指定长度报错解决

    oracle 实际值超过数据库某个字段指定长度报错解决

    本节主要介绍了oracle 实际值超过数据库某个字段指定长度报错解决方法,需要的朋友可以参考下
    2014-07-07
  • oracle分区索引的失效和重建代码示例

    oracle分区索引的失效和重建代码示例

    这篇文章主要介绍了oracle分区的失效和重建代码示例,小编觉得挺不错的,这里分享给大家,供需要的朋友参考。
    2017-10-10
  • oracle 视图权限 oracle 创建视图权限不足

    oracle 视图权限 oracle 创建视图权限不足

    在scott用户下创建视图的时候,报错:权限不足,遇到这个问题,我也是束手无策,于是网上搜集整理了一下,晒出来和大家分享,希望可以帮助你们
    2012-11-11
  • PLSQL安装与使用图文教程

    PLSQL安装与使用图文教程

    这篇文章详细介绍了PL/SQL的下载、安装、配置以及使用方法,内容包括如何下载和安装PL/SQL和Oracle Instant Client,本文通过图文并茂的形式给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-02-02
  • Oracle 处理json数据的方法

    Oracle 处理json数据的方法

    Json数据一般使用varchar2(400),varchar2(32676)或者BLOB来存储Json数据,这篇文章主要介绍了Oracle 处理json数据的相关知识,需要的朋友可以参考下
    2022-11-11
  • oracle保留两位小数解决方案

    oracle保留两位小数解决方案

    公司需要处理一些报表,需要使用百分率,保留2位小数,只用round和trunc函数都可以实现(round(_data,2) ),只是格式不是很工整,对格式要求不严谨的情况下使用round即可
    2012-11-11
  • Oracle数据库两表关联更新的问题

    Oracle数据库两表关联更新的问题

    需要写一个更新语句,但是更新的判断条件是两个表关联查询出来的,本文通过实例代码给大家讲解Oracle数据库两表关联更新的问题及遇到的坑,感兴趣的朋友一起看看吧
    2023-11-11
  • Oracle去除重复数据

    Oracle去除重复数据

    这篇文章介绍了Oracle去除重复数据的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • 深入ORACLE迁移到MYSQL的总结分析

    深入ORACLE迁移到MYSQL的总结分析

    本篇文章是对ORACLE迁移到MYSQL进行了详细的总结与分析,需要的朋友参考下
    2013-06-06
  • Oracle账户被锁错误:the account is locked解决方法

    Oracle账户被锁错误:the account is locked解决方法

    the account is locked意思是账户被锁定了,这种情况需要大家去解锁,这篇文章主要给大家介绍了关于Oracle账户被锁错误:the account is locked的解决方法,需要的朋友可以参考下
    2023-12-12

最新评论