8.1.6  BETWEEN、IN和LIKE范围查询(1)

前面介绍的WHERE子句都是用于比较单个值,如果要查询一定范围内的数据,可以使用Oracle提供的范围操作符。范围操作符可以比较一定范围的数据,比如比较两个数字值之间的值,或者是使用LIKE操作符进行模糊查询,在Oracle SQL中可以使用的范围操作符包含:

BETWEEN…AND操作符:要比较的值是否在BETWEEN和AND指定的两个值之间。

IN操作符:要比较的值是否在IN语句后指定的值列表中间。

LIKE:通过使用"_"或"%"通配符来匹配一个字符串模板。

1.BETWEEN操作符

举例来说,要查询员工薪资在1500~2500之间的员工信息,可以使用BETWEEN..AND语句,如下语句所示:SQL>SELECT empno 员工编号, ename 员工名称, job 职别, mgr 上级经理, hiredate 雇佣日期, sal 工资

FROM emp

WHERE sal BETWEEN 1500 AND 2500;

员工编号 员工名称 职别         上级经理  雇佣日期       工资

------------------------------------------------------------

7369 史密斯     职员             7902 17-12月-80     1755.2

7499 艾伦       销售人员         7698 20-2月 -81       1700

7788 斯科特     职员             7566 09-12月-82     1760.2

7844 特纳       销售人员         7698 08-8月 -81       1600

7903 通利       职员                   04-12月-81       2000

7904 罗威       职员                   08-12月-81       2000

已选择6行。

实际上在使用BETWEEN和AND操作符时,Oracle会将该语句转换为一对AND条件,因此上面的语句被Oracle翻译成如下的语句: SELECT empno, ename, job, mgr, hiredate, sal

FROM emp

WHERE sal>= 1500 AND sal<= 2500;

使用BETWEEN..AND并没有显著地提高性能,但是逻辑上给了用户一种更接近自然语言的表示方式。

对于日期类型的查询,也可以使用BETWEEN..AND来实现,例如要查询1981年1月1日到1981年12月31日之间入职的员工信息,可以使用BETWEEN..AND语句完成这个范围的选择,示例语句如下所示:SELECT empno, ename, job, mgr, hiredate, sal

FROM emp

WHERE hiredate BETWEEN TO_DATE ('1981-01-01', 'YYYY-MM-DD')

AND TO_DATE ('1981-12-31', 'YYYY-MM-DD');

在语句中为了匹配hiredate这个日期类型,使用了TO_DATE将字符串类型的日期转换成了日期类型。

2.IN操作符

IN操作符允许在一组值中进行选择,它用来判断列值是否在IN子句指定的值列表中。如果要查询emp员工表中员工的职位属于销售人员、职员、分析人员之间的员工,就可以使用IN关键字来查询。由于员工入职表是字符串类型的字段,因此必须要使用单引号进行分隔,如下面的语句所示:SQL>SELECT empno 员工编号, ename 姓名, job 职位, mgr 经理, hiredate 雇佣日期, sal 薪资

FROM emp

WHERE job IN ('销售人员','职员','分析人员');

员工编号 姓名      职位            经理  雇佣日期        薪资

--------------------------------------------------------------------

7369 史密斯     职员             7902 17-12月-80       1755.2

7499 艾伦       销售人员         7698 20-2月 -81       1700

7521 沃德       销售人员         7698 22-2月 -81       1350

7654 马丁       销售人员         7698 28-2月 -81       1350

7788 斯科特     职员             7566 09-12月-82       1760.2

7844 特纳       销售人员         7698 08-8月 -81       1600

7876 亚当斯     职员             7788 12-1月 -83       1440

7900 吉姆       职员             7698 03-12月-81       1050

7902 福特       分析人员         7566 03-12月-81       3600

7903 通利       职员                   04-12月-81       2000

7904 罗威       职员                   08-12月-81       2000

已选择11行。

【责任编辑:book TEL:(010)68476606】

点赞 0

oracle 丁勇 从零开始学_8.1.6 BETWEEN、IN和LIKE范围查询(1)相关推荐

  1. oracle 丁勇 从零开始学_8.3.1 多表查询分类

    8.3  多表查询 多表查询是指使用SELECT语句从多个表中查询数据,多个表之间通过主外键关系进行关联.在Oracle中,多表查询有两种写法,一种是由ANSI制定的标准的连接语法:另一种是由Orac ...

  2. 从零开始学前端:标签渐变和媒体查询 --- 今天你学习了吗?(CSS:Day25)

    从零开始学前端:程序猿小白也可以完全掌握!-今天你学习了吗?(CSS:Day25) 复习:从零开始学前端:grid布局和音频和媒体查询 - 今天你学习了吗?(CSS:Day24) 文章目录 从零开始学 ...

  3. 从零开始学python微课视频版-从零开始学Python(微课视频版)

    基本信息 书名:从零开始学Python(微课视频版) :89.80元 作者:何明 编著 著 出版社:中国水利水电出版社 出版日期:2020_04_01 ISBN:9787517083818 字数:64 ...

  4. 从零开始学架构5 - 实战篇

    从零开始学架构5 - 实战篇 38 | 架构师应该如何判断技术演进的方向? 潮流派? 保守派? 跟风派? 技术演进的动力 1)对于产品类业务,答案看起来很明显:技术创新推动业务发展! 苹果开发智能手机 ...

  5. 国外计算机从什么开始学,从零开始学电脑知识 1(国外英语资料).doc

    从零开始学电脑知识 1(国外英语资料) 现帛遣吐姿裙春攫踊炔鸿用棚满部佬酝棺赁裸典役臃士阿夫疙眩蒜乳碗贿搏巨标蓝絮灿雍陆翻榨翟哗瘸渝便拙脸齐印欢塞部尉登咕秦曳叛泻憋俞藩凿粹提辣毅涟名骄参腻磁贸胜众兹仅 ...

  6. python基础实例教程 微课版-从零开始学Python(微课视频版)

    基本信息 书名:从零开始学Python(微课视频版) :89.80元 作者:何明 编著 著 出版社:中国水利水电出版社 出版日期:2020_04_01 ISBN:9787517083818 字数:64 ...

  7. 从零开始学定位 --- 使用kaist数据集进行LIO-SAM建图

    之前的文章只是将数据的雷达在rviz中进行可视化了,并没有实际用起来. 这篇文章将使用Kaist Urban08 数据使用LIO-SAM进行三维点云地图的构建. 1 clone 工程 仓库的地址是 h ...

  8. 《HTML5+CSS3+JavaScript前端开发从零开始学(视频教学版)》简介

    #好书推荐##好书奇遇季#<HTML5+CSS3+JavaScript前端开发从零开始学(视频教学版)>,京东当当天猫都有发售.定价69元.本书配套本书配套示例源代码.PPT课件与同步教学 ...

  9. 关于新技术的引入原则 ——从零开始学架构

    不以解决实际问题引入的技术都耍流氓. 新技术的引入不是为了证明自己,而是为了解决实际项目中遇到的问题.希望诸位能够控制住自己的心魔. 新技术的引入要求应该是解决的问题大于带来的问题. 再引入新技术,请 ...

  10. python从0开始学编程课件_小白从零开始学编程(三)--python基本概念

    前言 从2020年3月份开始,计划写一系列文档--<小白从零开始学编程>,记录自己从0开始学习的一些东西. 第一个系列:python,计划从安装.环境搭建.基本语法.到利用Django和F ...

最新文章

  1. Java GC 日志详解
  2. 突然想自己做个平衡车了
  3. ubuntu——python
  4. HTML form 标签的 method 属性
  5. 洛谷——P2035 iCow
  6. 2008年校本培训之论文 封面
  7. Xshell更改命令提示符以及背景配色
  8. 每日程序C语言15-猴子吃桃问题
  9. EOJ_1021_可旋栈
  10. jquery悬停_jQuery悬停()
  11. kettle使用_ETL工具(kettle)使用系列(二)
  12. swif开发之--协议的使用
  13. 【车间调度】基于matlab粒子群算法求解生产调度问题【含Matlab源码 485期】
  14. 开关电源基础知识(上)_拓扑类型、效率与输入输出及占空比的关系
  15. 多源多目标统计信息融合 目标跟踪 信息融合 贝叶斯滤波总结
  16. “L3级”自动驾驶落地指导思想:高速辅助人,低速替代人
  17. 删库跑路技巧 删库跑路命令
  18. 沁恒MCU串口使用指南
  19. draw.io怎么安装在linux,Draw.io安装
  20. 让杂牌蓝牙适配器也安装上windows 自带的驱动程序

热门文章

  1. AIX下使用xmanager
  2. elasticsearch设置_search的size
  3. java实现远程唤醒一台计算机
  4. Oracle常见的Hint(二)
  5. Windows 平台下安装Cygwin后,sshd服务无法启动
  6. Eclipse Class Decompiler——Java反编译插件
  7. Windows下CodeLite支持中文的正确设置方法
  8. 云计算里AWS和Azure的探究(3)
  9. Windows Phone 7 使用Perst数据库的Demo——流水账
  10. 光缆成端接头的含义是指