六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

怎么讓MySQL中單句完成無限層次父子關(guān)系查詢

[摘要]在 SQL Server 中,使用 CTE 表達(dá)式很容易做到無限層次父子關(guān)系查詢;在不支持CTE表達(dá)式的版本中,借助函數(shù)遞歸也可以輕松實(shí)現(xiàn)。 在 MySQL 中,這個需求的實(shí)例稍顯復(fù)雜, MySQL...
在 SQL Server 中,使用 CTE 表達(dá)式很容易做到無限層次父子關(guān)系查詢;在不支持CTE表達(dá)式的版本中,借助函數(shù)遞歸也可以輕松實(shí)現(xiàn)。
在 MySQL 中,這個需求的實(shí)例稍顯復(fù)雜, MySQL 中沒有支持遞歸的查詢,沒有表值函數(shù),函數(shù)不支持遞歸,所以通常都是用循環(huán)實(shí)現(xiàn),顯得比較別扭。今天看到一個用單條語句實(shí)現(xiàn)的遞歸查詢,想法獨(dú)特,分享一下。

表結(jié)構(gòu)和數(shù)據(jù)

CREATE TABLE table1(id int, name varchar(10), parent_id int); 
INSERT table1 VALUES 
(1, ‘Home’,        0), 
(2, ‘About’,       1), 
(3, ‘Contact’,     1), 
(4, ‘Legal’,         2), 
(5, ‘Privacy’,      4), 
(6, ‘Products’,   1), 
(7, ‘Support’,     2);

查詢 id = 5 的所有父級

SELECT ID.level, DATA.* FROM( 

    SELECT 

        @id as _id, 

        (   SELECT @id := parent_id 

            FROM table1 

            WHERE id = @id 

        ) as _pid, 

        @l := @l+1 as level 

    FROM table1, 

        (SELECT @id := 5, @l := 0 ) b 

    WHERE @id > 0 
) ID, table1 DATA 
WHERE ID._id = DATA.id 
ORDER BY level;

根據(jù)這個父級查詢方法,很容易可以寫出查所有子級的,下面的查詢 id=2 的所有子級

SELECT ID.level, DATA.* FROM( 

    SELECT 

        @ids as _ids, 

        (   SELECT @ids := GROUP_CONCAT(id) 

            FROM table1 

            WHERE FIND_IN_SET(parent_id, @ids) 

        ) as cids, 

        @l := @l+1 as level 

    FROM table1, 

        (SELECT @ids :=’1’, @l := 0 ) b 

    WHERE @ids IS NOT NULL 
) id, table1 DATA 
WHERE FIND_IN_SET(DATA.id, ID._ids) 
ORDER BY level, id

本文講解了如何讓MySQL中單句實(shí)現(xiàn)無限層次父子關(guān)系查詢,更多相關(guān)內(nèi)容請關(guān)注php中文網(wǎng)。

相關(guān)推薦:

帶進(jìn)度的SQL Server FileStream如何存取

當(dāng)忘記 SQL Server 管理員密碼該如何處理

淺析MySQL中concat以及group_concat的使用

以上就是如何讓MySQL中單句實(shí)現(xiàn)無限層次父子關(guān)系查詢的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學(xué)習(xí)教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 四虎影永久在线高清免费 | 日韩一卡2卡3卡新区网站 | 人人干人人上 | 青青青青青青在线精品视频 | 五月综合激情网 | 亚洲va欧美ⅴa国产va影院 | 三级黄色在线视频中文 | 真实国产乱子伦精品一区二区三区 | 婷婷综合在线 | 亚洲 欧美 精品 中文第三 | 永久免费毛片 | 日韩在线视 | 亚洲aⅴ天堂| 天天影视色香欲综合网天天录日日录 | 特级做a爰片毛片免费看 | 又粗又硬又爽的三级视频在线观看 | 天堂网av2018| 日韩美女在线视频网站免费观看 | 最新中文字幕免费视频 | 亚洲精品91| 香蕉网站狼人久久五月亭亭 | 一级做a爰片久久毛片 | 日韩黄色精品 | 亚洲日韩精品欧美一区二区 | 色综合天天综合高清影视 | 青春草视频在线播放 | 婷婷色九月 | 天天晚上干白天干 | 日本在线观看高清不卡免v 日本在线观看a | 亚洲国产成人影院播放 | 色中文在线 | 欧美综合亚洲图片综合区 | 青青草原国产在线观看 | 天堂新版www中文 | 四月激情网 | 日韩欧美 在线播放 | 在线国产资源 | 亚洲处破女网站 | 一区二区三区视频网站 | 欧美资源在线观看 | 欧美午夜不卡在线观看最新 |