Oracle "CONNECT BY"的使用
发布日期:2022-03-16 03:25:45
浏览次数:44
分类:技术文章
本文共 739 字,大约阅读时间需要 2 分钟。
connect by 是层次查询子句,一般用于树状或层次结果集的查询。
语法:
select ... from table start with 条件1
connect by prior 条件2
where 条件3;
connect by prior 条件2
where 条件3;
其中:
条件1 是根结点的限定语句,当然可以放宽限定条件,以取得多个根结点,实际就是多棵树。
条件2 是连接条件,其中用PRIOR表示上一条记录,比如 CONNECT BY PRIOR org_id = parent_id就是说上一条记录的org_id 是本条记录的parent_id,即本记录的父亲是上一条记录。
条件3 是过滤条件,用于对返回的所有记录进行过滤。
例子: 条件1 是根结点的限定语句,当然可以放宽限定条件,以取得多个根结点,实际就是多棵树。
条件2 是连接条件,其中用PRIOR表示上一条记录,比如 CONNECT BY PRIOR org_id = parent_id就是说上一条记录的org_id 是本条记录的parent_id,即本记录的父亲是上一条记录。
条件3 是过滤条件,用于对返回的所有记录进行过滤。
create table a
(
id number not null, --id
pid number ,-- 父id
name varchar2(20) --名称
)
insert into a values (1,0,"中国")
insert into a values (2,1,"广东")
insert into a values (3,1,"湖南")
insert into a values (4,1,"江苏")
insert into a values (5,2,"深圳")
insert into a values (6,2,"广州")
insert into a values (7,3,"郴州")
sql:
select * from a start with id=1 connect by prior id = pid;
显示结果为数状
id pid name
1 0 中国
2 1 广东
5 2 深圳
6 2 广州
3 1 湖南
7 3 郴州
4 1 江苏
转载地址:https://blog.csdn.net/zhizhi12024/article/details/9090065 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年03月18日 09时36分51秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java jdk win10 1335_win10下安装java jdk,tomcat
2019-04-21
php中的变量名称用什么表示,PHP变量,方法,类等名称中的有效字符是什么?
2019-04-21
solr比mysql的优势_Solr与Elasticsearch的优缺点比较总结和归纳
2019-04-21
华为博士招聘上机考试题目_牛客网-华为-2020届校园招聘上机考试-3
2019-04-21
python中for可以做变量名吗_Python中使用动态变量名的方法
2019-04-21
mysql 日期转换天数_MySQL 日期操作 增减天数、时间转换、时间戳
2019-04-21
java对象去重复_JAVA中List对象去除重复值的方法
2019-04-21
java bss_[转] .bss段和.data段的区别
2019-04-21
java上传图片损坏_大神求助 上传图片后 图片损坏
2019-04-21
java socket唯一标识符_Java Socket编程之常识网络基础知识
2019-04-21
java给xyz大小排序_java递归实现string xyz排序
2019-04-21
arctime必须要java_Arctime使用教程 Arctime常见问题解答
2019-04-21
mysql 自适应字段宽度_box-sizing解决自适应布局容器宽度问题
2019-04-21
java 配置文件配置路径_Java读取配置文件路径设置
2019-04-21
vux 选择器_vue中的scoped分析以及在element-UI和vux中的应用
2019-04-21