• 与oracle 有关的那点事


    常用操作

    1.查看创建表参数

    提取完整的DDL:

    SELECT DBMS_METADATA.GET_DDL('TABLE','table_name') FROM DUAL;
    

    2.指定返回记录数

    select  XXX from XXX where rownum<n
    

    3.查询指定列的所有值且每个值只显示单条记录:

    select 需要查询重复数据的列名
    from 表名
    group by 需要查询重复数据的列名
    

    4.oracle中的交集、差集、并集

    • INTERSECT
    • MINUS
    • UNION / UNION ALL:union重复内容取唯一,union all没有过滤重复内容

    组函数

    组函数:即聚合函数,对一组值执行计算,并返回单个值(COUNT除外)。

    • 聚合函数忽略空值。
    • 聚合函数可以用于select、having子句,不可以用于where语句,因为where是对逐条记录进行筛选。
    • 常用聚合函数:
      • AVG:返回平均值,空值被忽略
      • COUNT:返回指定组中记录的数量
      • MAX
      • MIN
      • SUM:只能用于数字列,空值被忽略。
      • COUNT_BIG:返回指定组中的项目数量,与COUNT函数不同的是COUNT_BIG返回bigint值,而COUNT返回的是int值。
      • GROUPING:产生一个附加的列,当用CUBE或ROLLUP运算符添加行时,输出值为1.当所添加的行不是由CUBE或ROLLUP产生时,输出值为0.
      • CHECKSUM:返回在表的行上或在表达式列表上计算的校验值,用于生成哈希索引
      • STDEV:返回给定表达式中所有值的统计标准偏差。
      • VAR:返回统计方差

    oracle的rownum用法

    Rownum:是oracle自动分配给查询返回行的编号,从1开始。这个字段可以用于限制返回的总行数,但是rownum不能以任何表的名称作为前缀

    1. rownum对于等于某值的查询条件:

      1. rownum都是从1开始,但是1以上的自然数在rownum做等于判断是时认为都是false条件
      2. 无法查询到 where rownum>n (n>1)的记录
      3. 可以查到到where rownum=1的记录
    2. rownum对于大于某值的查询条件

      1. 需要使用子查询且rownum需要有别名:select * from(select rownum no ,id from student) where no>2
    3. rownum对于小于某值的查询条件

      1. 可以直接用 where rownum<n 查询
      2. 区间查询则需要用子查询。
    4. rownum和排序

      1. rownum是系统按照记录插入时的顺序给记录排的号。只能用子查询实现排序。

    报错1:[Err] ORA-00979: not a GROUP BY expression

    Oracle中 group by 规则:出现在select列表中的字段,如果没有在组函数出现,那么必须出现在group by 子句中。(即select列表中的字段不可以单独出现,必须在group语句或者组函数中。)

    参考

    参考1:http://blog.itpub.net/17203031/viewspace-688011/

  • 相关阅读:
    awk线程号
    std::string::substr函数
    计数器表的简单使用
    vim + oh-my-zsh + git搭建开发环境
    <<代码大全>>阅读笔记之二 变量名的力量
    <<代码大全>>阅读笔记之一 使用变量的一般事项
    压测工具ab的简单使用
    nginx配置文件详解
    numba初体验
    Linux查找文件内容小技巧
  • 原文地址:https://www.cnblogs.com/amyzhu/p/13061834.html
Copyright © 2020-2023  润新知