PostgreSQL的递归查询
发布日期:2016-4-22 21:4:5
PostgreSQL的递归查询 最近我在在Postgresql的使用过程中发现了一个很有意思的功能,就是对于类似于树状结构的结果,我们可以采取可以使用递归查询实现。(同样还有mssql)例如我的公司部门常用这种数据结构,我们设计表结构的时候,一般都是类似下面的SQL,其中parent_id为NULL时表示顶级节点,否则表示上级节点ID。参考代码已给出,如下所示: CREATE TABLE DEPARTMENT ( ID INTEGER PRIMARY KEY, NAME VARCHAR(32), PARENT_ID INTEGER REFERENCES DEPARTMENT(ID) );1234512345 下面我们造几条测试数据,参考代码已给出,如下所示: INSERT INTO DEPARTMENT(ID, NAME, PARENT_ID) VALUES(1, 'DEPARTMENT_1', NULL); INSERT INTO DEPARTMENT(ID, NAME, PARENT_ID) VALUES(11, 'DEPARTMENT_11', 1); INSERT INTO DEPARTMENT(ID, NAME, PARENT_ID) VALUES(12, 'DEPARTMENT_12', 1); INSERT INTO DEPARTMENT(ID, NAME, PARENT_ID) VALUES(111, 'DEPARTMENT_111', 11); INSERT INTO DEPARTMENT(ID, NAME, PARENT_ID) VALUES(121, 'DEPARTMENT_121', 12); INSERT INTO DEPARTMENT(ID, NAME, PARENT_ID) VALUES(122, 'DEPARTMENT_122', 12);123456123456 其中
下面的图1图2是递归查询生成树状结构查询语句,参考代码已给出,如下所示: 图1 图2 转载请以链接形式标明本文地址 以后会更新一些mssql的文章,关注mssql的敬请期待。 本文地址:http://blog.csdn.net/kongxx/article/details/47035491 上一条: Redis的简介与数据类型存储 下一条: 数据库峰会后援团之大牛们说
|