oracle between、 all、 in 和 exists的区别,模糊查询、4个正则表达式
--条件比较
/*
=,!=,<>,<,>,<=,>=,
any,some,all
is null,is not null
between x and y
in(list),not in(list)
exists(sub-query)
like _ ,%,escape ‘\‘ _\% escape ‘\’
*/ --any some 只要满足其中的任何一个即可
SELECT E.ENAME ,E.JOB,E.SAL FROM EMP E WHERE E.SAL > ANY(1000,2000,3000)
SELECT E.ENAME ,E.JOB,E.SAL FROM EMP E WHERE E.SAL > SOME(1000,2000,3000) --all 满足所有的
SELECT E.ENAME ,E.JOB,E.SAL FROM EMP E WHERE E.SAL < ALL(1000,2000,3000)
SELECT E.ENAME ,E.JOB,E.SAL FROM EMP E WHERE E.SAL > ALL(1000,2000,3000) --判断是否为null不能用"="
SELECT E.* FROM EMP E WHERE E.COMM=NULL; --无数据
SELECT E.* FROM EMP E WHERE NULL=NULL --无数据
SELECT E.* FROM EMP E WHERE E.COMM IS NULL;
SELECT E.* FROM EMP E WHERE E.COMM IS NOT NULL; --and=与、or=或、between and 在两者之间
SELECT T.* FROM T_THREE_KILLED T WHERE T.C_AGE >= 30 AND T.C_SEX = '男';
SELECT T.* FROM T_THREE_KILLED T WHERE T.C_AGE = 30 OR T.C_AGE = 31;
SELECT T.* FROM T_THREE_KILLED T WHERE T.C_AGE BETWEEN 27 AND 33; --IN EXISTS 的区别
--IN会遍历表表中所有数据与条件进行匹配,所有当子查询数据较多时使用IN会使查询效率较低
SELECT T.*
FROM T_THREE_KILLED T
WHERE T.C_AGE IN
(SELECT R.C_AGE FROM T_THREE_KILLED R WHERE R.C_AGE BETWEEN 30 AND 33); --EXISTS 只要查询语句可以返回一条数据则整个表达式为true,适用于子查询数据较多
SELECT T.*
FROM T_THREE_KILLED T
WHERE EXISTS (SELECT R.C_AGE
FROM T_THREE_KILLED R
WHERE T.C_AGE = R.C_AGE
AND R.C_AGE BETWEEN 30 AND 33); --LIKE模糊查询 ESCAPE 转义符
--在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符
SELECT T.* FROM T_THREE_KILLED T WHERE T.C_NAME LIKE '%l\%%' escape('\'); --ORACLE中的支持正则表达式的函数主要有下面四个:
--REGEXP_LIKE :与LIKE的功能相似
--REGEXP_INSTR :与INSTR的功能相似
--REGEXP_SUBSTR :与SUBSTR的功能相似
--REGEXP_REPLACE :与REPLACE的功能相似
oracle between、 all、 in 和 exists的区别,模糊查询、4个正则表达式的更多相关文章
- 使用Oracle的instr函数与索引配合提高模糊查询的效率
使用Oracle的instr函数与索引配合提高模糊查询的效率 一般来说,在Oracle数据库中,我们对tb表的name字段进行模糊查询会采用下面两种方式:1.select * from tb wher ...
- 【SQL】查询语句中in和exists的区别
in in可以分为三类: 一. 形如select * from t1 where f1 in ( &apos:a &apos:, &apos:b &apos:),应该和 ...
- [转]ORACLE中Like与Instr模糊查询性能大比拼
instr(title,'手册')>0 相当于 title like '%手册%' instr(title,'手册')=1 相当于 title like '手册%' instr(titl ...
- Oracle 模糊查询 优化
模糊查询是数据库查询中经常用到的,一般常用的格式如下: (1)字段 like '%关键字%' 字段包含"关键字"的记录 即使在目标字段建立索引也不会走索引,速度最慢 (2 ...
- oracle 子查询详解 in和exists的区别
sql允许多层嵌套,子查询是嵌套在其他查询中的查询.我们可以把子查询当做一张表来看到,即外层语句可以把内嵌的查询结果当做一张表使用. 子查询查询结果有三种情况 不返回查询记录.若子查询不返回记录则主查 ...
- Oracle中执行存储过程call和exec区别
Oracle中执行存储过程call和exec区别 在sqlplus中这两种方法都可以使用: exec pro_name(参数1..); call pro_name(参数1..); 区别: 1. 但是e ...
- 转【】浅谈sql中的in与not in,exists与not exists的区别_
浅谈sql中的in与not in,exists与not exists的区别 1.in和exists in是把外表和内表作hash连接,而exists是对外表作loop循环,每次loop循环再对内表 ...
- oracle唯一索引与普通索引的区别和联系以及using index用法
oracle唯一索引与普通索引的区别和联系 区别:唯一索引unique index和一般索引normal index最大的差异是在索引列上增加一层唯一约束.添加唯一索引的数据列可以为空,但是只要尊在数 ...
- 浅谈sql中的in与not in,exists与not exists的区别
转 浅谈sql中的in与not in,exists与not exists的区别 12月12日北京OSC源创会 —— 开源技术的年终盛典 » sql exists in 1.in和exists ...
随机推荐
- oracle的row_number() OVER (ORDER BY COL2 asc)和row_number() OVER (PARTITION BY COL1 ORDER BY COL2)的用法
转自:https://jingyan.baidu.com/article/9989c74604a644f648ecfef3.html SELECT ROW_NUMBER() OVER(PARTITIO ...
- 关于小程序报错 缺少文件,错误信息:error: iconPath=../images/home.png, file not found
事实上在小程序中,虽然你的image文件夹是和你index文件夹的父级文件夹并行的文件夹,但是你如果引用的时候,不用去遵循 ../ 或者 ./因为在小程序当中他根本不识别.所以要引用的话 ...
- 记录--常用的linux命令
mysql event /*查询event是否开启(查询结果Off为关闭 On为开启)*/ show variables like '%sche%'; /*开启/关闭命令(1开启--0关闭)*/ se ...
- Windows Server 2008及以上系统磁盘无法查看(About UAC and ACE)
在windows Server2008及以上系統,如果UAC Enabled,ACE列表中不會包含Administrators成員的SID,所以即使你是administrators的成員,也無法訪問D ...
- 解决:JQuery "Uncaught ReferenceError: $ is not defined"错误
重登了一下emo项目,发现新建朋友功能出了问题:MultiValueDictKeyError.查看了一下报错提示,发现ajax中发送的数据包中少了两个参数. 于是调试js前端,发现console报错: ...
- python3 基础数据类型
一.基础数据类型分类 python的数据类型主要包括以下几种: 1.数字 2.字符串 3.列表 4.字典 5.元组 6.集合 1.数字 int 数字主要是用于计算用的,使用方法并不多 #bit_len ...
- SQL竖表转换成横表统计
#创建表user_score create table user_score ( name varchar(20), subjects varchar(20), score int ); insert ...
- 008-shiro与spring web项目整合【二】认证、授权、session管理
一.认证 1.添加凭证匹配器 添加凭证匹配器实现md5加密校验. 修改applicationContext-shiro.xml: <!-- realm --> <bean id=&q ...
- Tkprof工具详解一(转载)
在数据库生成的oracle trace文件中,可读性是比较差的,此时可使用tkprof工具来格式化trace文件,tkprof是一个命令行工具,作用就是把原始的跟踪trace文件作为输入,然后格式化一 ...
- java HttpURLConnection 请求实例
package app.works; import org.json.JSONObject; import java.io.BufferedReader; import java.io.InputSt ...