天天看點

postgresql中sql進階特性

--with查詢

  1.CTE(common table expression),在複雜查詢中定義一個輔助語句(可了解為在查詢中定義一個臨時表),常用于複雜查詢或遞歸查詢

  2.遞歸查詢使用CTE(union all是将兩個select語句的結果求并集。 union是将union all的結果下再去除重複資料)

with查詢的一個重要屬性recursive,使用recursive引用自己的輸出進而實作遞歸,一般用于層次結構或樹狀結構

x從1開始,union+1後的值,循環直到5結束,之後計算X的總和

層次數字遞歸應用場景

構造測試表資料

查詢檢索ID為7及以上父節點,将結果輸出name字段合并為“中國遼甯沈陽和平區”,這裡通過string_agg實作