zoukankan      html  css  js  c++  java
  • oracle 中start with 的用法

    oracle 中start with 的用法

    发表于2013/3/3 23:29:35  40191人阅读

    分类: Oracle

    oracle 提供了start with connect by 语法结构可以实现递归查询。

    1. 一个简单举例:

    SQL> select *  from test;

    BILL_MONTH           DAY_NUMBER MSISDN

    -------------------- ---------- --------------------

    200803                        1 13800

    200803                        3 13800

    200803                        2 13800

    200803                        2 13801

    200803                        4 13804

    200803                        5 13804

    200803                        7 13804

    200803                        8 13804

    200803                        6 13802

    200803                        6 13801

    200803                        7 13801

    200803                        8 13801

    12 rows selected

    SQL>

    SQL> select * from test

      2       start with day_number=1

      3       connect by  prior day_number=day_number-1 and prior msisdn= msisdn

      4      ;

    BILL_MONTH           DAY_NUMBER MSISDN

    -------------------- ---------- --------------------

    200803                        1 13800

    200803                        2 13800

    200803                        3 13800

    SQL>

    上面的语句查找出了从1开始,并且day_number 逐渐+1 递增的,并且 msisdn 相同的哪些个数据.

    2. start with  connect by 语法结构

     如上面说看到的 例子, 其语法结构为  start with condition  connect by  condition (含 prior 关键字)

    start with conditon 给出的seed 数据的范围, connect by  后面给出了递归查询的条件,prior 关键字表示父数据,prior 条件表示子数据需要满足父数据的什么条件。

    在下面的这个start with connect by 结构中,就表示 查找出了从1开始,父数据的day_number等于子数据的day_number-1而且父数据的msisdn=子数据的msisdn.

    start with day_number=1

         connect by  prior day_number=day_number-1 and prior msisdn= msisdn

  • 相关阅读:
    tomcat server.xml 配置示例
    Vue学习1:实例及生命周期
    flex布局
    从输入一个URL到页面完全显示发生了什么?
    webstorm配置eslint【标记错误,修复错误】
    JavaScript实现八大内部排序算法
    es6(六):module模块(export,import)
    es6(五):class关键字(extends,super,static)
    es6(四):Symbol,Set,Map
    es6(三):es6中函数的扩展(参数默认值、rest参数、箭头函数)
  • 原文地址:https://www.cnblogs.com/anyiz/p/10737333.html
Copyright © 2011-2022 走看看