zoukankan      html  css  js  c++  java
  • Oracle DB 对数据进行限制和排序

    • 对通过查询检索的行进行限制
    • 对通过查询检索的行进行排序
    • 在运行时使用&  替代变量对输出进行限制和排序

    • 使用以下项对行进行限制:
    – WHERE 子句
    – 使用=、<=、BETWEEN、IN、LIKE 和NULL 条件的比较条件
    – 使用AND 、OR和NOT 运算符的逻辑条件
    • 表达式中运算符的优先级规则
    • 使用ORDER BY 子句对行进行排序
    • 替代变量
    • DEFINE 和VERIFY 命令

    • 对所选行进行限制
    • 使用WHERE子句可以限制返回的行:
    • WHERE子句在FROM 子句之后。
    SELECT *|{[DISTINCT] column|expression [alias ],...}
    FROM   table
    [WHERE condition(s)];

    • 使用WHERE 子句
    SELECT employee_id, last_name, job_id, department_id
    FROM   employees
    WHERE  department_id = 90 ;

    • 字符串和日期
    • 字符串和日期值应放在单引号内
    • 字符值区分大小写,日期值区分格式。
    • 默认的日期显示格式为DD-MON-RR。
    SELECT last_name, job_id, department_id FROM   employees
    WHERE  last_name = 'Whalen' ;
    SELECT last_name  FROM   employees
    WHERE  hire_date = '17-FEB-96' ;

    • 比较运算符


    • 使用比较运算符
    SELECT last_name, salary FROM   employees
    WHERE  salary <= 3000 ;

    • 使用BETWEEN运算符的范围条件
    使用BETWEEN运算符可基于值范围显示行:
    SELECT last_name, salary FROM   employees
    WHERE  salary BETWEEN 2500 AND 3500 ;

    • 使用IN运算符的成员条件
    使用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%' ;

    • 组合通配符字符
    • 为执行模式匹配,可将两个通配符(%, _)  与文字字符组合使用:
    • 可使用ESCAPE 标识符来搜索实际的% 和_ 符号。
    SELECT last_name FROM   employees
    WHERE  last_name LIKE '_o%' ;

    • 使用NULL 条件
    使用IS NULL运算符可测试空值。
    SELECT last_name, manager_id FROM   employees
    WHERE  manager_id IS NULL ;

    • 使用逻辑运算符定义条件

    • 使用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 运算符
    SELECT last_name, job_id FROM   employees WHERE  job_id 
    NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP') ;

    • 优先级规则
    可以使用括号更改优先级规则。

    • 使用ORDER BY 子句
    • 使用ORDER BY 子句可对检索行进行排序:
    – ASC :升序,默认顺序
    – DESC:降序
    • 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 ;

    • 使用列的数字位置进行排序:
    SELECT   last_name, job_id, department_id, hire_date FROM     employees
    ORDER BY 3;

    • 按多个列进行排序:
    SELECT last_name, department_id, salary FROM   employees
    ORDER BY department_id, salary DESC;
    • 替代变量
    • 使用替代变量:
    – 使用单与号 (&)  及双与号 (&&)  替代变量可临时存储值
    • 可将替代变量作为以下项的补充:
    – WHERE 条件
    – ORDER BY 子句
    – 列表达式
    – 表名
    – 整个SELECT 语句

    • 使用单与号替代变量
    使用以与号( & )  为前缀的变量可提示用户输入一个值:
    SELECT employee_id, last_name, salary, department_id FROM   employees
    WHERE  employee_id = &employee_num ;


    • 使用替代变量指定字符值和日期值
    对日期值和字符值使用单引号:
    SELECT last_name, department_id, salary*12 FROM   employees
    WHERE  job_id = '&job_title' ;

    • 指定列名、表达式和文本
    SELECT employee_id, last_name, job_id,&column_name FROM   employees
    WHERE  &condition
    ORDER BY &order_column ;

    • 使用双与号替代变量
    如果要重复使用变量值而不每次都显示提示,请使用双与号( &&):

    SELECT   employee_id, last_name, job_id, &&column_name
    FROM     employees
    ORDER BY &column_name ;

    • 使用DEFINE 命令
    • 使用DEFINE 命令可创建变量并为其赋值。
    • 使用UNDEFINE 命令可删除变量。
    DEFINE employee_num = 200
    SELECT employee_id, last_name, salary, department_id FROM   employees
    WHERE  employee_id = &employee_num ;

    UNDEFINE employee_num

    • 使用VERIFY 命令
    在SQL Developer 使用值替换替代变量前后,使用VERIFY 命令可切换替代变量的显示:
    SET VERIFY ON
    SELECT employee_id, last_name, salary
    FROM   employees
    WHERE  employee_id = &employee_num;


    • 小结
    • 使用WHERE子句来限制输出行:
    – 使用比较条件
    – 使用BETWEEN、IN、LIKE 和NULL 运算符
    – 应用AND 、OR和NOT 逻辑运算符
    • 使用ORDER BY 子句对输出行进行排序:

    SELECT  *|{[DISTINCT] column|expression [alias ],...}
    FROM     table
    [WHERE   condition(s)]
    [ORDER BY {column, expr, alias} [ASC|DESC]] ;
    • 在运行时使用&  替代变量对输出进行限制和排序

  • 相关阅读:
    关于UI设计的文章汇总
    Linq 中不爽之处
    难题autoconf、automake、libtool
    静态构造函数线程安全的几个版本[转载]
    Window Live Writer
    Guid、Int、BigInt编号的速度和存储空间的比较
    MVP模式中的P和V关系
    LR 剖析器
    快速软件开发 学习笔记 之七
    快速软件开发 学习笔记 之六
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13316824.html
Copyright © 2011-2022 走看看