国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術(shù)|

服務(wù)器之家 - 數(shù)據(jù)庫 - Sql Server - sqlserver實(shí)現(xiàn)樹形結(jié)構(gòu)遞歸查詢(無限極分類)的方法

sqlserver實(shí)現(xiàn)樹形結(jié)構(gòu)遞歸查詢(無限極分類)的方法

2020-05-21 15:52jingxian Sql Server

下面小編就為大家?guī)硪黄猻qlserver實(shí)現(xiàn)樹形結(jié)構(gòu)遞歸查詢(無限極分類)的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

SQL Server 2005開始,我們可以直接通過CTE來支持遞歸查詢,CTE即公用表表達(dá)式

百度百科

公用表表達(dá)式(CTE),是一個(gè)在查詢中定義的臨時(shí)命名結(jié)果集將在from子句中使用它。每個(gè)CTE僅被定義一次(但在其作用域內(nèi)可以被引用任意次),并且在該查詢生存期間將一直生存。可以使用CTE來執(zhí)行遞歸操作。創(chuàng)建的語法是:

?
1
2
3
4
5
with <name of you cte>(<column names>)
as(
<actual query>
)
select * from <name of your cte>

1、生成數(shù)據(jù)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
--菜單目錄結(jié)構(gòu)表
create table tb_menu(
 id int not null, --主鍵id
title varchar(50), --標(biāo)題
 parent int --parent id
);
--父菜單
insert into tb_menu(id, title, parent) values(1, '父菜單1',null);
insert into tb_menu(id, title, parent) values(2, '父菜單2',null);
insert into tb_menu(id, title, parent) values(3, '父菜單3',null);
insert into tb_menu(id, title, parent) values(4, '父菜單4',null);
insert into tb_menu(id, title, parent) values(5, '父菜單5',null);
--一級(jí)菜單
insert into tb_menu(id, title, parent) values(6, '一級(jí)菜單6',1);
insert into tb_menu(id, title, parent) values(7, '一級(jí)菜單7',1);
insert into tb_menu(id, title, parent) values(8, '一級(jí)菜單8',1);
insert into tb_menu(id, title, parent) values(9, '一級(jí)菜單9',2);
insert into tb_menu(id, title, parent) values(10, '一級(jí)菜單10',2);
insert into tb_menu(id, title, parent) values(11, '一級(jí)菜單11',2);
insert into tb_menu(id, title, parent) values(12, '一級(jí)菜單12',3);
insert into tb_menu(id, title, parent) values(13, '一級(jí)菜單13',3);
insert into tb_menu(id, title, parent) values(14, '一級(jí)菜單14',3);
insert into tb_menu(id, title, parent) values(15, '一級(jí)菜單15',4);
insert into tb_menu(id, title, parent) values(16, '一級(jí)菜單16',4);
insert into tb_menu(id, title, parent) values(17, '一級(jí)菜單17',4);
insert into tb_menu(id, title, parent) values(18, '一級(jí)菜單18',5);
insert into tb_menu(id, title, parent) values(19, '一級(jí)菜單19',5);
insert into tb_menu(id, title, parent) values(20, '一級(jí)菜單20',5);
--二級(jí)菜單
insert into tb_menu(id, title, parent) values(21, '二級(jí)菜單21',6);
insert into tb_menu(id, title, parent) values(22, '二級(jí)菜單22',6);
insert into tb_menu(id, title, parent) values(23, '二級(jí)菜單23',7);
insert into tb_menu(id, title, parent) values(24, '二級(jí)菜單24',7);
insert into tb_menu(id, title, parent) values(25, '二級(jí)菜單25',8);
insert into tb_menu(id, title, parent) values(26, '二級(jí)菜單26',9);
insert into tb_menu(id, title, parent) values(27, '二級(jí)菜單27',10);
insert into tb_menu(id, title, parent) values(28, '二級(jí)菜單28',11);
insert into tb_menu(id, title, parent) values(29, '二級(jí)菜單29',12);
insert into tb_menu(id, title, parent) values(30, '二級(jí)菜單30',13);
insert into tb_menu(id, title, parent) values(31, '二級(jí)菜單31',14);
insert into tb_menu(id, title, parent) values(32, '二級(jí)菜單32',15);
insert into tb_menu(id, title, parent) values(33, '二級(jí)菜單33',16);
insert into tb_menu(id, title, parent) values(34, '二級(jí)菜單34',17);
insert into tb_menu(id, title, parent) values(35, '二級(jí)菜單35',18);
insert into tb_menu(id, title, parent) values(36, '二級(jí)菜單36',19);
insert into tb_menu(id, title, parent) values(37, '二級(jí)菜單37',20);
 
--三級(jí)菜單
insert into tb_menu(id, title, parent) values(38, '三級(jí)菜單38',21);
insert into tb_menu(id, title, parent) values(39, '三級(jí)菜單39',22);
insert into tb_menu(id, title, parent) values(40, '三級(jí)菜單40',23);
insert into tb_menu(id, title, parent) values(41, '三級(jí)菜單41',24);
insert into tb_menu(id, title, parent) values(42, '三級(jí)菜單42',25);
insert into tb_menu(id, title, parent) values(43, '三級(jí)菜單43',26);
insert into tb_menu(id, title, parent) values(44, '三級(jí)菜單44',27);
insert into tb_menu(id, title, parent) values(45, '三級(jí)菜單45',28);
insert into tb_menu(id, title, parent) values(46, '三級(jí)菜單46',28);
insert into tb_menu(id, title, parent) values(47, '三級(jí)菜單47',29);
insert into tb_menu(id, title, parent) values(48, '三級(jí)菜單48',30);
insert into tb_menu(id, title, parent) values(49, '三級(jí)菜單49',31);
insert into tb_menu(id, title, parent) values(50, '三級(jí)菜單50',31);
commit;

2.查找所有上級(jí)節(jié)點(diǎn)

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
--查詢樹狀結(jié)構(gòu)某節(jié)點(diǎn)(44)的上級(jí)所有根節(jié)點(diǎn)
 
with cte_parent(id,title,parent)
 
as
 
(
 
  --起始條件
 
  select id,title,parent
 
  from tb_menu
 
  where id = 44  --列出子節(jié)點(diǎn)查詢條件
 
  union all
 
  --遞歸條件
 
  select a.id,a.title,a.parent
 
  from tb_menu a
 
  inner join
 
  cte_parent b     --執(zhí)行遞歸,這里就要理解下了 
 
  on a.id=b.parent 
 
)            
 
select * from cte_parent;

3.查找下級(jí)節(jié)點(diǎn)帶level

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
--查詢樹狀結(jié)構(gòu)某節(jié)點(diǎn)下的所有子節(jié)點(diǎn)(
 
with cte_child(id,title,parent,level)
 
as
 
(
 
  --起始條件
 
  select id,title,parent,0 as level
 
  from tb_menu
 
  where id = 6--列出父節(jié)點(diǎn)查詢條件
 
  union all
 
  --遞歸條件
 
  select a.id,a.title,a.parent,b.level+1
 
  from tb_menu a
 
  inner join
 
  cte_child b
 
  on ( a.parent=b.id) 
 
)
 
select * from cte_child;

以上這篇sqlserver實(shí)現(xiàn)樹形結(jié)構(gòu)遞歸查詢(無限極分類)的方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲在线观看免费视频 | 欧美综合一区二区三区 | 久久国产乱 | 久久99视频精品 | 国产精品成人一区二区三区夜夜夜 | 最近中文字幕免费 | 国产精品美女久久久久久免费 | 久久久久久一级片 | 国产美女福利在线 | 成人av福利 | 久久99国产精品久久99大师 | 性网站在线观看 | 国产小视频在线 | 欧美一级欧美三级在线观看 | 国产99一区二区 | 一级黄色片日本 | 成人在线小视频 | 99久色| 黄色美女视频网站 | 国产精品久久久亚洲 | 91中文在线观看 | 在线观看成人高清 | 亚洲精品欧美在线 | 日韩av在线中文字幕 | 久久久久久久久久久福利观看 | 91精品国产综合久久久久久 | 91精品国产一区二区三区香蕉 | 99这里只有精品视频 | 国产色视频在线播放 | 一区二区三区在线播放 | 国产精品久久久久久久久久免费动 | 波多野结衣一区二区三区中文字幕 | 色爱区成人综合网 | 精品一区二区久久久久久久网站 | 激情一级片 | 神马影院一区二区三区 | 久久久99999 亚洲一区 | 国产资源大全 | 欧美1级 | 亚洲第十页| 红桃av一区二区 |