• Oracle系列三 过滤和排序


    WHERE子句

    • 使用WHERE 子句,将不满足条件的行过滤掉。

    示例:

    SELECT
        employee_id,
        last_name,
        job_id,
         department_id
    FROM   
        employees
    WHERE  
        department_id = 90 ;

    字符和日期

    • 字符和日期要包含在单引号中。
    • 字符大小写敏感,日期格式敏感。

    示例:

    SELECT
        last_name,
        job_id,
        department_id
    FROM   
        employees
    WHERE  
        last_name = 'Whalen';




    比较运算

    操作符   含义
    = 等于
    > 大于
    >= 大于等于
    < 小于
    <= 小于等于
    <> 不等于(也可以是!=)




    赋值使用 := 符号

    比较运算示例:

    SELECT
        last_name,
        salary
    FROM  
        employees
    WHERE  
        salary <= 3000;


    其它比较运算

    操作符                     含义
    BETWEEN ...AND...   在两个值之间 (包含边界)
    IN(set)  等于值列表中的一个
    LIKE 模糊查询
    IS NULL 空值






    使用 BETWEEN 运算来显示在一个区间内的值

    示例一:

    SELECT
        last_name,
        salary
    FROM
        employees
    WHERE
        salary BETWEEN 2500 AND 3500;


    使用 IN运算显示列表中的值


    SELECT
        employee_id,
        last_name,
        salary,
        manager_id
    FROM
        employees
    WHERE
        manager_id IN (
            100,
            101,
            201
        );




    LIKE

    • 使用 LIKE 运算选择类似的值
    • 选择条件可以包含字符或数字:
    • % 代表零个或多个字符(任意个字符)。
    • _ 代表一个字符。

    示例:

    SELECT
        first_name
    FROM
        employees
    WHERE
        first_name LIKE 'S%';



    ‘%’和‘-’同时使用

    示例:

    SELECT
        last_name
    FROM
        employees
    WHERE
        last_name LIKE '_o%';



    ESCAPE

    • 可以使用 ESCAPE 标识符 选择‘%’和 ‘_’ 符号。
    • 回避特殊符号的:使用转义符。例如:将[%]转为[\%]、[_]转为[\_],然后再加上[ESCAPE ‘’] 即可。

    示例:

    SELECT
        job_id
    FROM
        jobs
    WHERE
        job_id LIKE 'IT\_%' ESCAPE '';



    NULL

    • 使用 IS (NOT) NULL 判断空值。
    SELECT
        last_name,
        manager_id
    FROM
        employees
    WHERE
        manager_id IS NULL;




    逻辑运算

    操作符 含义
    AND 逻辑并
    OR 逻辑或
    NOT 逻辑否




    AND

    • AND 要求并的关系为真。

    示例:

    SELECT
        employee_id,
        last_name,
        job_id,
        salary
    FROM
        employees
    WHERE
        salary >= 10000
        AND   job_id LIKE '%MAN%';



    OR

    • OR 要求或关系为真。
    SELECT
        employee_id,
        last_name,
        job_id,
        salary
    FROM
        employees
    WHERE
        salary >= 10000
        OR   job_id LIKE '%MAN%';


    NOT

    • NOT 不在这之内
    SELECT
        last_name,
        job_id
    FROM
        employees
    WHERE
        job_id NOT IN (
            'IT_PROG',
            'ST_CLERK',
            'SA_REP'
        );


    优先级

    优先级  名称 
    1 算术运算符
    2 连接符
    3 比较符
    4 IS [NOT] NULL, LIKE, [NOT] IN
    5 [NOT] BETWEEN
    6 NOT
    7 AND
    8 OR



    • 可以使用括号改变优先级顺序

    ORDER BY子句

    • 使用 ORDER BY 子句排序
    • ASC(ascend): 升序
    • DESC(descend): 降序
    • ORDER BY 子句在SELECT语句的结尾。

    示例:

    SELECT
        last_name,
        job_id,
        department_id,
        hire_date
    FROM
        employees
    ORDER BY
        hire_date;


    降序排列

    SELECT
        last_name,
        job_id,
        department_id,
        hire_date
    FROM
        employees
    ORDER BY
        hire_date DESC;

    按别名排序:

    SELECT
        employee_id,
        last_name,
        salary * 12 annsal
    FROM
        employees
    ORDER BY
        annsal;

    多个列排序:按照ORDER BY 列表的顺序排序。

    SELECT
        last_name,
        department_id,
        salary
    FROM
        employees
    ORDER BY
        department_id,
        salary DESC;

  • 相关阅读:
    [SoapUI] Compare JSON Response(比较jsonobject)
    [SoapUI] Command-Line Arguments
    [SoapUI] How to create a random UUID in each Request's Headers
    SoapUI Script Library
    [正则表达式] 正则表达式匹配UUID
    [远程] windows 2008 server设置了共享文件夹,并且共享给了everyone,但是还是无法访问,怎么解决呢?
    each
    WSDL Style和use的组合方式说明
    XML xsd
    java.lang.ClassNotFoundException: springosgi
  • 原文地址:https://www.cnblogs.com/loaderman/p/11731650.html
Copyright © 2020-2023  润新知