zoukankan      html  css  js  c++  java
  • Oracle(限定查询2)

    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 '%%';

  • 相关阅读:
    [原]poj-2680-Choose the best route-dijkstra(基础最短路)
    [转]c/c++输入函数
    [原]poj-2524(裸并查集)
    [原]poj-1611-The Suspects(水并查集)
    ccnu-线段树-简单的区间更新(三题)
    团队博客(3)
    个人NABCD
    团队博客(2)
    团队博客(1)
    课堂练习:返回一个二维数组中最大子数组的和
  • 原文地址:https://www.cnblogs.com/keye/p/8126968.html
Copyright © 2011-2022 走看看