mariaDB with as 遞歸語句

環境

mariaDB從10.2開始支持遞歸。我的版本是10.4.8-MariaDB

數據表:

CREATE TABLE `digui`  (
  `id` varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
  `parent_id` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  `name` varchar(255) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL
) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = Dynamic;
 

數據:

數據展示

寫法

with recursive h as 
(
select a.id, a.parent_id, a.name from digui a where a.parent_id ='01' 
union all 
select b.id, b.parent_id,b.name from digui b,h where h.id=b.parent_id

select * from h order by id;

 

注意,with後面必須是'recursive '

結果:

查詢結果

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章