oracle中startwith的用法

oracle中startwith的⽤法
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

本文发布于:2024-09-24 19:20:08,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/95937.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   条件   递归   查询   语句   查找
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议