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 Arraysize设置对于逻辑读的影响实例分析
当执行一条SQL查询的时候,为了获得满足的数据,查询在这个过程中完成解析,绑定,执行和提取数据等一系列步骤,这些步骤都是单独执行的,满足条件的数据行必须由数据库返回给应用:对于任何大小的结果集,需要返回的数据行很可能不是在一次往返调用过程中传递给应用的! 每次调用过程中,数据库与客户端之间的往返回路数将一定层次上影响总的响应时间,其中除了提取数据(FETCH)步骤,其余步骤(解析,绑定,执行)都只执行一次,这也是必要的,Oracle需要获得满足查询条件的所有数据结果从而执行多次提取操作. 关于提
-
oracle中通配符和运算符的使用方法介绍
用于where比较条件的有: 等于:=.<.<=.>.>=.<> 包含:in.not in exists.not exists 范围:between...and.not between....and 匹配测试:like.not like Null测试:is null.is not null 布尔链接:and.or.not 通配符: 在where子句中,通配符可与like条件一起使用.在Oracle中: %(百分号): 用来表示任意数量的字符,或者可能根本没有字符. _(
-
oracle逻辑结构分析
oracle的逻辑结构包括表空间(tablespace),段(segment),区(extent),数据块(data block) oracle数据库在逻辑上是由多个表间组成的,表空间中存储的对象叫段,比如数据段,索引段,和回退段.段由区组成,区是磁盘分配的最小单位.段的增大是通过增加区的个数来实现的.每个区的大小是数据块大小的整数倍,区的大小可以不相同:数据块是数据库中最小的I/O单位,同时也是内存数据缓冲区的单位,及数据文件存储空间单位.块的大小由参数DB_BLOCK_SIZE设置,其值应设
-
Oracle查看逻辑读、物理读资源占用排行的SQL语句
查看逻辑读前10的SQL: 复制代码 代码如下: set linesize 300; set pagesize 300; set long 50000; SELECT * FROM ( SELECT sql_fulltext AS sql, SQL_ID,buffer_gets / executions AS "Gets/Exec",buffer_gets, executions FROM V$SQLAREA WHERE buffer_gets > 100
-
Oracle数据库逻辑备份的SH文件
正在看的ORACLE教程是:Oracle数据库逻辑备份的SH文件.完全备份的SH文件:exp_comp.sh rq=` date +"%m%d" ` su - oracle -c "exp system/manager full=y inctype=complete file=/oracle/export/db_comp$rq.dmp" 累计备份的SH文件:exp_cumu.sh rq=` date +"%m%d" ` su - oracle -
-
oracle逻辑运算符与其优先级简介
Oracle的逻辑运算符也是用在SQL语句中必不可少的因素,一共有三个 逻辑运算符 意义 and 双值运算符,如果左右两个条件都为真,则得到的值就为真 or 双值运算符,只要左右两个条件有一个为真,则得到的值就为真 not 单指运算符,如果原条件为真,则得到真,如果元条件为假,反之如果原条件为假,则结果为真 Oracle的逻辑运算符也是用在SQL语下面使一些例子: Select * from emp where sal > 2000 and job = 'SALESMAN'; 寻找那些工资高于2
-
Oracle开发之分析函数简介Over用法
一.Oracle分析函数简介: 在日常的生产环境中,我们接触得比较多的是OLTP系统(即Online Transaction Process),这些系统的特点是具备实时要求,或者至少说对响应的时间多长有一定的要求:其次这些系统的业务逻辑一般比较复杂,可能需要经过多次的运算.比如我们经常接触到的电子商城. 在这些系统之外,还有一种称之为OLAP的系统(即Online Aanalyse Process),这些系统一般用于系统决策使用.通常和数据仓库.数据分析.数据挖掘等概念联系在一起.这些系统的特点
-
Oracle开发之分析函数(Rank, Dense_rank, row_number)
一.使用rownum为记录排名: 在前面一篇<Oracle开发之分析函数简介Over>,我们认识了分析函数的基本应用,现在我们再来考虑下面几个问题: ①对所有客户按订单总额进行排名 ②按区域和客户订单总额进行排名 ③找出订单总额排名前13位的客户 ④找出订单总额最高.最低的客户 ⑤找出订单总额排名前25%的客户 按照前面第一篇文章的思路,我们只能做到对各个分组的数据进行统计,如果需要排名的话那么只需要简单地加上rownum不就行了吗?事实情况是否如此想象般简单,我们来实践一下. [1]测试环境
-
Oracle开发之分析函数总结
这一篇是对前面所有关于分析函数的文章的总结: 一.统计方面: 复制代码 代码如下: Sum() Over ([Partition by ] [Order by ]) Sum() Over ([Partition by ] [Order by ] Rows Between Preceding And Following) Sum() Over ([Partition by ] [Order by ] Rows Between Preceding An
-
JavaScript逻辑运算符相关总结
前言 关于 JavaScript 中的逻辑运算符,我们经常使用却可能不知道它的一些机制和用法. 机制 首先我们需要知道几种逻辑运算符的优先级是不同的(关于完整的运算符优先级,看运算符优先级),逻辑非>逻辑与>逻辑或>条件运算符(三目运算符).运算顺序条件运算符是从右向左,而逻辑与和逻辑或都是从左向右. //表达式的优先级导致结果不同 false && true || true // 结果为 true false && (true || true) // 结
-
MySQL查询语句大全集锦
1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2.创建一个数据库MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3:选择你所创建的数据库 mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!) 4:查看现在的数据库中存在什么表 mysql> SHOW TABLES; 5:创建一个数据库表 mysql> CREATE TAB
-
SQL Sever查询语句大全集锦
一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例如,下面的语句查询testtable表中姓名为"张三"的nickname字段和email字段. 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表.星号.表达式.变量(包括局
-
SQL Server查询语句大全集锦
一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例如,下面的语句查询testtable表中姓名为"张三"的nickname字段和email字段. 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表.星号.表达式.变量(包括局
-
PHP递归创建多级目录
我的第一个感觉就是用递归创建,具体思路如下: function Directory($dir){ if(is_dir($dir) || @mkdir($dir,0777)){ //查看目录是否已经存在或尝试创建,加一个@抑制符号是因为第一次创建失败,会报一个"父目录不存在"的警告. echo $dir."创建成功<br>"; //输出创建成功的目录 }else{ $dirArr=explode('/',$dir); //当子目录没创建成功时,试图创建父目
-
VBScript教程 第六课VBScript运算符
VBScript 有一套完整的运算符,包括算术运算符.比较运算符.连接运算符和逻辑运算符. 运算符优先级 当表达式包含多个运算符时,将按预定顺序计算每一部分,这个顺序被称为运算符优先级.可以使用括号越过这种优先级顺序,强制首先计算表达式的某些部分.运算时,总是先执行括号中的运算符,然后再执行括号外的运算符.但是,在括号中仍遵循标准运算符优先级. 当表达式包含多种运算符时,首先计算算术运算符,然后计算比较运算符,最后计算逻辑运算符.所有比较运算符的优先级相同,即按照从左到右的顺序计算比较运算符.算
随机推荐
- Json2Template.js 基于jquery的插件 绑定JavaScript对象到Html模板中
- JS实现对中文字符串进行utf-8的Base64编码的方法(使其与Java编码相同)
- 可输入的下拉框
- Crontab+Shell做Nginx日志切割脚本实例代码
- 如何更好的使用Java8中方法引用详解
- Asp.NET 生成静态页面并分页的代码
- JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
- js解析json读取List中的实体对象示例
- 有关于PHP中常见数据类型的汇总分享
- PHP 文件系统详解
- 详解Linux的SOCKET编程
- Javascript 入门基础学习
- linux下mysql自动备份脚本代码
- navicat中创建存储过程、触发器和使用游标的简单实例(图文)
- Android图片加载利器之Picasso基本用法
- JavaScript也谈内存优化
- EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
- mysql下float类型使用一些误差详解
- Oracle的RBO和CBO详细介绍和优化模式设置方法
- JQuery勾选指定name的复选框集合并显示的方法