3.2 对数据进行限定查询

在标准SQL之中定义了许多的运算符。

3.2.1、关系运算符

范例:

范例:

范例:

在使用关系运算符判断字符数据的时候注意大小写的编写问题。因为Oracle是区分大小写的。下面是错误的代码:

SELECT *

FROM emp

WHERE job = 'clerk'

范例:不等于符号(<>、!=)

范例:

范例:

对于这样的操作实际上此时存在两组条件:

  • 条件一:10部门的经理
  • 条件二:20部门的办事员

这两个条件有一个满足即可,所以这两组条件中间应该使用OR进行连接。

范例:

3.3.2、范围查询

范围查询:BETWEEN 最小值 AND 最大值

语法:字段 | 列 BETWEEN 最小值 AND 最大值

BETWEEN...AND...操作符的主要功能是针对于一个指定的数据范围进行查找,在设置范围的时候,可以是数字,字符串或者是日期型数据。

在这个查询里面使用到hiredate字段。

判断内容是否为null:IS NULL,IS NOT NULL

语法:

判断为NULL:字段 | 值 IS NULL;

判断不为NULL:字段 | 值 IS NOT NULL (NOT 字段 | 值 IS NULL)

不能用等号判断,只能用 is。

现在需要的是两个判断条件,一个是佣金为null,第二个是工资大于2000。

现在要找的是职位,职位会出现重复,重复的数据必须使用DISTINCT消除。

3.2.4、列表范围查找:IN、NOT IN

语法:

  • 在指定数据范围内:字段 | 值 IN(值, 值,...)
  • 不在指定数据范围内:字段 | 值 NOT IN(值, 值,...)

所谓的列表范围指的是给了用户固定的几个参考值,只要符合这个值就满足条件。

范例:

使用 IN 查询:

SELECT *

FROM emp

WHERE empno IN (7396, 7788, 7566);

但是在使用 NOT IN 操作的时候注意一点,关于 null 的问题。

使用 IN 操作符数据之中包含了null,不会影响查询结果。但是使用NOT IN,里面有null,直接的后果就是没有任何的数据显示。

SELECT *

FROM emp

WHERE empno NOT IN (7396, 7788, null);

这样执行就没有任何结果。

使用NOT IN 或 IN 其目的只是显示部分数据,如果说现在有一列数据不为null,并且NOT IN里面判断 null 的条件满足了,那么就表示的是查询全部数据。

3.2.5、like 模糊查询

语法:

满足模糊查询:字段 | 值 LIKE 匹配标记

不满足模糊查询:字段 | 值NOT LIKE 匹配标记

现在对某一列进行模糊查询,使用 LIKE 子句完成,通过 LIKE 可以进行关键字的模糊查询,在 LIKE 子句中有两个通配符:

  • 百分号(%):匹配任意类型和长度的字符,如果是中文则使用两个(%%)
  • 下划线(_):匹配单个任意字符,它常用来限制表达式的字符长度

注意一点,在设置模糊查询的时候不设置关键字,就表示查询全部,比如:

SELECT * FROM emp WHERE sal LIKE '%%' OR hiredate LIKE '%%';

Oracle(限定查询2)的更多相关文章

  1. Oracle(限定查询1)

    3.1.认识限定查询 例如:如果一张表中有100w条数据,一旦执行了“SELECT * FROM 表”语句之后,则将在屏幕上显示表中的全部数据行的记录,这样即不方便浏览,也有可能造成死机的问题出现,所 ...

  2. Oracle笔记(1) 简单查询、限定查询、数据的排序

    Oracle笔记(四) 简单查询.限定查询.数据的排序   一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及 ...

  3. Oracle从入门到精通 限定查询和排序查询的问题

    视频课程:李兴华 Oracle从入门到精通视频课程 学习者:阳光罗诺 视频来源:51CTO学院 知识点 SQL语句的执行顺序 限定符号的使用.   具体内容: 如果想要对所选择的数据进行控制,就可以使 ...

  4. Oracle记录(四) 简单查询、限定查询、数据的排序

    一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统.ANSI(美国国家标准学会) ...

  5. Oracle数据库之五 限定查询和排序显示

    五.限定查询和排序显示 5.1.限定查询 5.1.1 认识限定查询 例如:如果一张表中有 100w 条数据,一旦执行了 " SELECT * FROM 表 " 语句之后,则将在屏幕 ...

  6. Oracle笔记(四) 简单查询、限定查询、数据的排序

    一.简单查询 SQL(Structured Query Language) 结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询.更新和管理关系数据库系统.ANSI(美国国家标准学会) ...

  7. 工作中遇到的oracle分页查询问题及多表查询相关

    在工作中,有时,我们会用到oracle分页查询.这时,就需要先了解oracle的rownum.rowmun是oracle的伪列,只能用符号(<.<=.!=),而不能用这些符号(>,& ...

  8. Oracle 复杂查询(1)

    一.复杂查询 1. 列出至少有一个员工的所有部门编号.名称,并统计出这些部门的平均工资.最低工资.最高工资. 1.确定所需要的数据表: emp表:可以查询出员工的数量: dept表:部门名称: emp ...

  9. 带您了解Oracle层次查询

    http://database.51cto.com/art/201010/231539.htm Oracle层次查询(connect by )是结构化查询中用到的,下面就为您介绍Oracle层次查询的 ...

随机推荐

  1. php学习路线(转)

    作者:Summer链接:https://www.zhihu.com/question/20034403/answer/135433912来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  2. SQL Server 2008 R2 常用系统函数学习

    /******************************************* * 聚合函数 *******************************************/ SEL ...

  3. Golang错误处理函数defer、panic、recover、errors.New介绍

    在默认情况下,当发生错误(panic)后,程序就会终止运行 如果发生错误后,可以捕获错误,并通知管理人员(邮件或者短信),程序还可以继续运行,这当然无可厚非 errors.New("错误信息 ...

  4. JS截取字符串中数字

    今天项目中需要在一个字符串中截取一个数字,然后数字参与运算.搜了一下,有好多好用的方式截取字符串. 1,使用parseInt() var str ="4500元"; var num ...

  5. rhel 6 version `GLIBC_2.14' not found (required by /usr/lib64/libstdc++.so.6)以及libstdc++.so.6: version GLIBCXX_3.4.18 not found解决办法

    最近在oracle linux 7.3下开发了个应用,发布到rhel 6.5运行的时候,报version `GLIBC_2.14' not found (required by /usr/lib64/ ...

  6. 02:MongoDB操作

    1.1 MongoDB 增加 1.插入数据 1. 插入文档: insert 如果插入数据的时候,collection还不存在,自动创建集合 2. insertOne: 插入一条数据 3. insert ...

  7. IO流-基础

    //创建输出流对象 FileWriter fw = new FileWriter("d:\\a.txt"); /* * 创建输出流对象做了哪些事情: * A:调用系统资源创建了一个 ...

  8. Vijos 1404 遭遇战 - 动态规划 - 线段树 - 最短路 - 堆

    背景 你知道吗,SQ Class的人都很喜欢打CS.(不知道CS是什么的人不用参加这次比赛). 描述 今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC ...

  9. Python3基础 list index 全列表查找与指定索引范围查找

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  10. noip模拟【array】

    array by ysy [题目描述] 给定一个长度为n的数列,每次你可以进行以下操作之一: (1)将一个数+a: (2)将一个数-a: (3)将一个数+b: (4)将一个数-b: 你需要将所有数全部 ...