最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql8.0遞歸查詢的簡單用法示例

 更新時間:2021年08月03日 14:48:01   作者:阿豪_mike  
在項目中會遇到同一個表中保存著父子關(guān)系的數(shù)據(jù),最常見的就是處理樹形結(jié)構(gòu)資源,這篇文章主要給大家介紹了關(guān)于Mysql8.0遞歸查詢的簡單用法,需要的朋友可以參考下

前言

本文使用Mysql8.0的特新實現(xiàn)遞歸查詢,文中給出了詳細的實例代碼,下面話不多說了,來一起看看詳細的介紹吧

Mysql8.0遞歸查詢用法

表數(shù)據(jù)如下

+--------+----------+------------+
| cat_id | name     | parent_cid |
+--------+----------+------------+
|     12 | 美妝     |          0 |
|      4 | 服裝     |          0 |
|      5 | 女裝     |          4 |
|      6 | 男裝     |          4 |
|      7 | 童裝     |          4 |
|     19 | 美容美體 |         12 |
|     18 | 彩妝     |         12 |
|     13 | 護膚     |         12 |
|     15 | 護膚套裝 |         13 |
|     40 | 防曬     |         13 |
|     39 | 卸妝     |         13 |
|     38 | 潤唇膏   |         13 |
|     17 | 乳液面霜 |         13 |
|     16 | 面膜     |         13 |
|     14 | 化妝水   |         13 |
+--------+----------+------------+

1. 我們需要查詢出"服裝"分類下的所有子分類

with recursive type_cte as (
    select *  from t_category  where cat_id = 4
    union all
    select t.* from t_category t
                        inner join type_cte type_cte2 on t.parent_cid = type_cte2.cat_id
)
select
    cat_id, name, parent_cid
from type_cte

+--------+------+------------+
| cat_id | name | parent_cid |
+--------+------+------------+
|      4 | 服裝 |          0 |
|      5 | 女裝 |          4 |
|      6 | 男裝 |          4 |
|      7 | 童裝 |          4 |
+--------+------+------------+

2. 查詢出所有“美妝”分類下的所有子分類,并且分類名稱帶上上級分類的名稱

with recursive type_cte as (
    select cat_id,name,parent_cid  from t_category  where cat_id = 12
    union all
    select t.cat_id,concat(type_cte2.name,'>',t.name),t.parent_cid 
    from t_category t
        inner join type_cte type_cte2 on t.parent_cid = type_cte2.cat_id
)
select
    cat_id, name, parent_cid
from type_cte;

+--------+------------------------+------------+
| cat_id | name                   | parent_cid |
+--------+------------------------+------------+
|     12 | 美妝                   |          0 |
|     13 | 美妝>護膚              |         12 |
|     18 | 美妝>彩妝              |         12 |
|     19 | 美妝>美容美體          |         12 |
|     14 | 美妝>護膚>化妝水       |         13 |
|     15 | 美妝>護膚>護膚套裝     |         13 |
|     16 | 美妝>護膚>面膜         |         13 |
|     17 | 美妝>護膚>乳液面霜     |         13 |
|     35 | 美妝>護膚>潔面         |         13 |
|     36 | 美妝>護膚>精華         |         13 |
|     37 | 美妝>護膚>眼霜         |         13 |
|     38 | 美妝>護膚>潤唇膏       |         13 |
|     39 | 美妝>護膚>卸妝         |         13 |
|     40 | 美妝>護膚>防曬         |         13 |
+--------+------------------------+------------+

3. 查詢分類的所有父級分類

根據(jù)第二個問題的sql做一下調(diào)整即可

with recursive type_cte as (
    select cat_id,name,parent_cid  from t_category  where cat_id = 40
    union all
    select t.cat_id,concat(type_cte2.name,'>',t.name),t.parent_cid
    from t_category t
             inner join type_cte type_cte2 on t.cat_id = type_cte2.parent_cid
)
select
    cat_id, name, parent_cid
from type_cte;

+--------+----------------+------------+
| cat_id | name           | parent_cid |
+--------+----------------+------------+
|     40 | 防曬           |         13 |
|     13 | 防曬>護膚      |         12 |
|     12 | 防曬>護膚>美妝 |          0 |
+--------+----------------+------------+

總結(jié)

到此這篇關(guān)于Mysql8.0遞歸查詢的文章就介紹到這了,更多相關(guān)Mysql8.0遞歸查詢內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • winx64下mysql5.7.19的基本安裝流程(詳細)

    winx64下mysql5.7.19的基本安裝流程(詳細)

    這篇文章主要介紹了winx64下mysql5.7.19的基本安裝流程,需要的朋友可以參考下
    2017-10-10
  • MySQL數(shù)據(jù)庫的觸發(fā)器和事務(wù)

    MySQL數(shù)據(jù)庫的觸發(fā)器和事務(wù)

    這篇文章主要介紹了MySQL數(shù)據(jù)庫的觸發(fā)器和事務(wù),觸發(fā)器是SQL?server提供給程序員和數(shù)據(jù)分析員來保證數(shù)據(jù)完整性的一種方法,它是與表事件相關(guān)的特殊的存儲過程,是由事件來觸發(fā)
    2022-08-08
  • 如何解決mysql導入sql文件慢、錯等問題

    如何解決mysql導入sql文件慢、錯等問題

    這篇文章主要介紹了如何解決mysql導入sql文件慢、錯等問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • MySQL主鍵索引和非主鍵索引的實現(xiàn)

    MySQL主鍵索引和非主鍵索引的實現(xiàn)

    本文主要介紹了MySQL主鍵索引和非主鍵索引的實現(xiàn),文中詳細的介紹了主鍵索引和非主鍵索引有不同的作用和特點,具有一定的參考價值,感興趣的可以了解一下
    2023-10-10
  • 解決Navicat導入數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)sql報錯datetime(0)的問題

    解決Navicat導入數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)sql報錯datetime(0)的問題

    這篇文章主要介紹了解決Navicat導入數(shù)據(jù)庫數(shù)據(jù)結(jié)構(gòu)sql報錯datetime(0)的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • MySQL數(shù)據(jù)庫添加外鍵的四種方式

    MySQL數(shù)據(jù)庫添加外鍵的四種方式

    這篇文章主要介紹了ysql數(shù)據(jù)庫添加外鍵的四種方式, 建表時直接使用FOREIGN KEY,建表時使用CONSTRAINT,在建表以后使用ALTER語句以及 使用第三方工具這四種方式,需要的朋友可以參考下
    2024-03-03
  • 一條sql語句完成MySQL去重留一

    一條sql語句完成MySQL去重留一

    在使用mysql時,有時需要查詢出某個字段不重復的記錄,雖然mysql提供 有distinct這個關(guān)鍵字來過濾掉多余的重復記錄只保留一條,但往往只用它來返回不重復記錄的條數(shù),而不是用它來返回不重記錄的所有值。
    2017-12-12
  • 高性能MySQL讀書筆記 找出誰持有鎖

    高性能MySQL讀書筆記 找出誰持有鎖

    周末重讀了一遍《高性能MySQL》,發(fā)現(xiàn)有些知識點看過便忘了,沒有實際動手操作一遍就是記不牢,所以今天動手操作了一下“找出誰持有鎖”,并把實驗步驟記錄下來,有興趣的網(wǎng)友可以參照一二。
    2011-01-01
  • MySQL中Next-Key Lock底層原理實現(xiàn)

    MySQL中Next-Key Lock底層原理實現(xiàn)

    Next-KeyLock是MySQL InnoDB存儲引擎中的一種鎖機制,結(jié)合記錄鎖和間隙鎖,用于高效并發(fā)控制并避免幻讀,本文主要介紹了MySQL中Next-Key Lock底層原理實現(xiàn),感興趣的可以了解一下
    2025-03-03
  • Mysql數(shù)據(jù)庫中datetime、bigint、timestamp來表示時間選擇,誰來存儲時間效率最高

    Mysql數(shù)據(jù)庫中datetime、bigint、timestamp來表示時間選擇,誰來存儲時間效率最高

    這篇文章主要介紹了Mysql數(shù)據(jù)庫中datetime、bigint、timestamp來表示時間選擇,誰來存儲時間效率最高,針對這一問題每人回答方式各不相同,下面分享下我的個人想法,需要的朋友可以參考下
    2021-08-08

最新評論

光山县| 德昌县| 达日县| 沙田区| 芦溪县| 扶风县| 盘锦市| 灵寿县| 北宁市| 定安县| 霞浦县| 都安| 阳城县| 榆树市| 徐闻县| 水城县| 大丰市| 苍梧县| 临桂县| 石屏县| 扎兰屯市| 自治县| 芷江| 扎赉特旗| 祁门县| 太谷县| 博白县| SHOW| 甘洛县| 郸城县| 丰都县| 肥城市| 恩平市| 阿拉善左旗| 广丰县| 体育| 蒙山县| 长春市| 永顺县| 怀远县| 蓬安县|