PostgreSQL 递归查询
来源:互联网 发布:口红保质期 知乎 编辑:程序博客网 时间:2024/06/07 17:43
数据库中的数据存在父子关系(单继承,每一条记录只有一个父亲). 如果要查询一条记录以及他的所有子记录,或者要查询一条记录以及他的所有父记录.那么递归查询就再合适不过了.可以简化复杂的SQL语句
现在数据库有一张Place表,用于存放中国的地区信息.
CREATE TABLE place( id serial NOT NULL, --主键 name character varying(200), --地区名 parent_id bigint, --外键 父地区 CONSTRAINT place_pkey PRIMARY KEY (id) --主键约束)
数据库数据如下
向下递归
查询安徽以及安徽一下的所有记录
WITH RECURSIVE r AS ( SELECT * FROM place WHERE id = 2 union ALL SELECT place.* FROM place, r WHERE place.parent_id = r.id ) SELECT * FROM r ORDER BY id;
查询结果如下
向上递归
查询三亚以及三亚以上所有记录
WITH RECURSIVE r AS ( SELECT * FROM place WHERE id = 8 union ALL SELECT place.* FROM place, r WHERE place.id = r.parent_id ) SELECT * FROM r ORDER BY id;
查询结果如下 0 0
- postgresql with 递归查询
- postgresql 递归查询
- PostgreSQL 递归查询
- PostgreSQL 递归查询
- PostgreSQL递归查询
- Postgresql 递归查询
- PostgreSQL递归查询
- Postgresql递归查询
- oracle及postgresql递归查询
- PostgreSQL递归查询实现树状结构查询
- PostgreSQL的递归查询(with recursive)
- PostgreSQL的递归查询(with recursive)
- PostgreSQL的递归查询(with recursive)
- PostgreSQL的递归查询(with recursive)
- postgresql递归
- postgresql的分页显示-截取字符串-递归查询
- postgresql查询
- PostgreSQL with子句 递归
- angularJS中$apply()方法详解之什么时候用$apply()
- 调整数组顺序使奇数在前
- Linux下设置定期(定时)执行脚本
- 坐标变换深入理解
- windows server 2008 r2的FTP配置和访问
- PostgreSQL 递归查询
- 学习SpringMVC(十七)之自定义类型转换器
- setjmp和longjmp浅析
- 贪心算法解决基站问题
- iOS常用宏定义
- VS2010产品秘钥
- [3.0]数组的创建及原理初探
- Excel导出到文件工具
- RN填坑-----tabBarIOS的icon和selectedIcon设置后无效