1. 程式人生 > >Postgresql遞迴查詢

Postgresql遞迴查詢

資料表


with RECURSIVE cte as 
 ( 
 select a.* from department a where name='東南片區' 
  union all  
  select k.*  from department k inner join cte c on c.name = k.parent_dep 
 )select * from cte;


相關推薦

postgresql查詢並將結果拼接

pg由於對大小寫不敏感,如果欄位中有大寫,需要將該欄位加雙引號,否則自動轉為小寫查詢with RECURSIVE cte as  (  select a.id,a.name,a."parentId" from system_area a where id=130000  un

Postgresql查詢

資料表 with RECURSIVE cte as   (   select a.* from department a where name='東南片區'    union all     select k.*  from department k inner joi

PostgreSQL查詢實現樹狀結構查詢

在Postgresql的使用過程中發現了一個很有意思的功能,就是對於需要類似於樹狀結構的結果可以使用遞迴查詢實現。比如說我們常用的公司部門這種資料結構,一般我們設計表結構的時候都是類似下面的SQL,其中parent_id為NULL時表示頂級節點,否則表示上級節點

PostgreSQL查詢

表結構 如下 地區表CREATE TABLE "public"."region" ( "region_id" int4 NOT NULL, "parent_id" int4, "region_name" varchar(50) COLLATE "default" NOT NU

postgresql可達性問題 查詢

FLIGHTSOrigin:Destination:ABACBCCDCREATE TABLE flights(origin varchar(5),destination varchar(5));INSERT INTO flights values('A','B'),('A',

postgresql with 查詢

Oracle資料庫中的用 CONNECT BY來做 遞迴 查 詢。  PostgreSQL8.3以前是用connectby()函式來做遞迴 查 詢 。 connectby() 函式是 contrib/tablefunc模 塊 下的功能,默 認 是沒有安裝的,需要自己安裝。 

postgresql的分頁顯示-擷取字串-查詢

======================================= >>>>>>>>>>>>>>postgresql<<<<<<<<

mybatis 實現查詢出樹結構節點

mybatis 實現遞迴查詢出樹結構節點 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.

MySQL自定義函式查詢

用於遞迴查詢Id(通過parentId關聯)引數為int 型別的值: CREATE DEFINER=`root`@`%` FUNCTION `getChildList`(rootId INT) RETURNS text CHARSET utf8 BEGIN DECLARE sTemp

sql查詢子類

平時工作中我們會遇到主從層次關係的結構資料,我們需要把資料取出來並且提現出層級就像樹形結構一樣,比如這樣的結構: 資料庫表結構如下,有個parent_id和sub_id,就是把兩者的關係儲存起來。 id為768的下面有769,770,771,772,780,781資料,同時

java tree 結構查詢

create table TB_TREE ( CID NUMBER not null, CNAME VARCHAR2(50), PID NUMBER //父節點 ) insert into tb_tree (CID, CNAME, PID) values (1, '中國', 0);

mysql查詢,mysql中從子類ID查詢所有父類(做無限分類經常用到)

由於mysql 不支援類似 oracle with ...connect的 遞迴查詢語法之前一直以為類似的查詢要麼用儲存過程要麼只能用程式寫遞迴查詢.現在發現原來一條sql語句也是可以搞定的先來看資料表的結構如下:id  name    parent_id&n

mysql8.0CTE實現查詢

+----+----------+--------------+| ID | ParentID | name         |+----+----------+--------------+|  1 | &n

Oracle 查詢:start with

 什麼時候用到start with ?    (1) 一張表中存放有目錄樹的相關資料(子類id , 父類id )    (2)但是想展示為父子型別的資料給前臺,或者列表(table)中,    (3) 這個時候就可以考

Oracle樹查詢,start with connect by prior 查詢用法(轉載)

本人覺得這個寫的真不錯,實用性強,就轉載過來了 這個子句主要是用於B樹結構型別的資料遞迴查詢,給出B樹結構型別中的任意一個結點,遍歷其最終父結點或者子結點。 先看原始資料: 1 create table a_test 2 ( parentid varchar2(10), 3

Oracle 樹操作、查詢(select…start with…connect by…prior)

一、Oracle中start with…connect by prior子句用法 connect by 是結構化查詢中用到的,其基本語法是: select … from tablename start with 條件1connect by 條件2where 條件3; 例: select

DNS查詢與迭代查詢

DNS遞迴查詢與迭代查詢 summary 一直以來對於DNS查詢的“遞迴”與“迭代”方式感到困惑。一般人就直接跟你說“DNS客戶端向DNS伺服器請求叫遞迴查詢”,“DNS伺服器之間的查詢請求是迭代查詢”,聽了之後根本不知所謂。。。直到我看了《網路作業系統——windows se

oracle查詢報錯

SELECT * FROM T_OrgCom t where t.systemcode = '04' and t.ENABLED = '1' START WITH t.id='00000000' CONNECT BY   PRIOR t.ID=t.pid 報錯:使用者資料中的co

Unity學習筆記003.查詢子物體/獲取子物體元件

public static Transform FindChild(Transform parent,string name) { Transform child = null; child = parent.Find(name); if (child != null)

用mysql儲存過程代替查詢 用mysql儲存過程代替查詢

用mysql儲存過程代替遞迴查詢 查詢此表某個id=4028ab535e370cd7015e37835f52014b(公司1)下的所有資料 正常情況下,我們採用遞迴演算法查詢,如下 1