Mysql根據(jù)某層部門ID查詢所有下級(jí)多層子部門的示例
模擬表和數(shù)據(jù)腳本
復(fù)制以下sql語句生成一個(gè)叫sys_dept的表和插入若干構(gòu)造好的有層級(jí)關(guān)系的數(shù)據(jù),直接復(fù)制執(zhí)行就ok
DROP TABLE IF EXISTS `sys_dept`; CREATE TABLE `sys_dept` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '部門編號(hào)', `p_id` int(11) DEFAULT NULL COMMENT '父級(jí)部門編號(hào)', `title` varchar(255) DEFAULT NULL COMMENT '父級(jí)部門名稱', `is_open` int(11) DEFAULT NULL COMMENT '是否展開(0-展開,1-不展開)', `address` varchar(255) DEFAULT NULL COMMENT '部門地址', `create_time` datetime DEFAULT NULL COMMENT '創(chuàng)建時(shí)間', `remark` varchar(255) DEFAULT NULL COMMENT '備注', PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8; INSERT INTO sys_dept (p_id,title,is_open,address,create_time,remark) VALUES (0,'總經(jīng)辦',1,'深圳','2019-04-10 14:06:32.000','大BOSS') ,(1,'銷售部',0,'武漢','2019-04-10 14:06:32.000','程序員屌絲') ,(1,'運(yùn)營部',0,'武漢','2019-04-10 14:06:32.000','無') ,(1,'生產(chǎn)部',0,'武漢','2019-04-10 14:06:32.000','無') ,(2,'銷售一部',0,'武漢','2019-04-10 14:06:32.000','銷售一部') ,(2,'銷售二部',0,'武漢','2019-04-10 14:06:32.000','銷售二部') ,(2,'銷售三部',0,'廣州','2019-04-10 14:06:32.000','銷售三部') ,(2,'銷售四部',0,'廣州','2019-04-10 14:06:32.000','銷售四部') ,(2,'銷售五部',0,'廣州','2019-04-10 14:06:32.000','銷售五部') ,(3,'運(yùn)營一部',0,'武漢','2019-04-10 14:06:32.000','運(yùn)營一部') ,(3,'運(yùn)營二部',0,'武漢','2019-04-10 14:06:32.000','運(yùn)營二部') ,(3,'運(yùn)營三部',0,'武漢','2019-04-10 14:06:32.000','運(yùn)營三部') ,(3,'運(yùn)營四部',0,'武漢','2019-04-10 14:06:32.000','運(yùn)營四部') ,(3,'運(yùn)營五部',0,'武漢','2019-04-10 14:06:32.000','運(yùn)營五部') ,(4,'生產(chǎn)一部',1,'深圳','2019-11-23 09:50:23.000','生產(chǎn)一部') ,(4,'生產(chǎn)二部',1,'深圳','2019-11-23 09:50:23.000','生產(chǎn)二部') ,(4,'生產(chǎn)三部',1,'深圳','2019-11-23 09:50:23.000','生產(chǎn)三部') ,(5,'銷售一部一組',1,'深圳','2019-11-23 09:50:23.000','銷售一部一組') ,(5,'銷售一部二組',1,'深圳','2019-11-23 09:50:23.000','銷售一部二組') ,(5,'銷售一部三組',1,'深圳','2019-11-23 09:50:23.000','銷售一部三組') ,(6,'銷售二部一組',1,'深圳','2019-11-23 09:50:23.000','銷售二部一組') ,(6,'銷售二部二組',1,'深圳','2019-11-23 09:50:23.000','銷售二部二組') ,(17,'生產(chǎn)三部一組',1,'深圳','2019-11-23 09:50:23.000','生產(chǎn)三部一組') ,(17,'生產(chǎn)三部二組',1,'深圳','2019-11-23 09:50:23.000','生產(chǎn)三部二組') ,(17,'生產(chǎn)三部三組',1,'深圳','2019-11-23 09:50:23.000','生產(chǎn)三部三組') ;
根據(jù)部門ID查詢所有子部門
select id,title from ( select t1.id,t1.title, if(find_in_set(p_id, @pids) > 0, @pids := concat(@pids, ',', id), 0) as ischild from ( select id, p_id, title from ssmdemo.sys_dept t order by p_id, id ) t1, ( select @pids := 17) t2 ) t3 where ischild != 0
其中@pids := 17的17就是要查詢的部門ID
到此這篇關(guān)于Mysql根據(jù)某層部門ID查詢所有下級(jí)多層子部門的示例的文章就介紹到這了,更多相關(guān)Mysql ID查詢所有下級(jí)多層子部門內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MySQL 隨機(jī)函數(shù)獲取數(shù)據(jù)速度和效率分析
最近做項(xiàng)目,需要做一個(gè)從mysql數(shù)據(jù)庫中隨機(jī)取幾條數(shù)據(jù)出來。總所周知,order by rand 會(huì)死人的。。因?yàn)楸救藢?duì)大數(shù)據(jù)量方面的只是了解的很少,無解,去找百度老師。。搜索結(jié)果千篇一律。特發(fā)到這里來,供大家學(xué)習(xí),需要的朋友可以參考下2016-11-11
MySQL?8.0?對(duì)?limit?的優(yōu)化技巧
從不同版本的 MySQL 發(fā)展軌跡來看 MySQL 的優(yōu)化器越來越智能 (比如大家期待已久的直方圖特性) ,能更多的減少人為干預(yù),提升執(zhí)行計(jì)劃的準(zhǔn)確性,這篇文章主要介紹了MySQL?8.0?對(duì)?limit?的優(yōu)化,需要的朋友可以參考下2022-10-10
使用Visual Studio Code連接MySql數(shù)據(jù)庫并進(jìn)行查詢
這篇文章主要介紹了使用Visual Studio Code連接MySql數(shù)據(jù)庫并進(jìn)行查詢,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
mysql中刪除數(shù)據(jù)的四種方法小結(jié)
在MySQL數(shù)據(jù)庫中,刪除數(shù)據(jù)是一個(gè)常見的操作,它允許從表中移除不再需要的數(shù)據(jù),本文就來介紹一下四種方法,具有一定的參考價(jià)值,感興趣的可以了解一下2023-10-10
macOS 下的 MySQL 8.0.17 安裝與簡易配置教程圖解
這篇文章主要介紹了macOS 下的 MySQL 8.0.17 安裝與簡易配置教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-09-09
MySQL使用MD5加密算法進(jìn)行數(shù)據(jù)加密功能
在現(xiàn)代的數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的安全性和隱私性變得尤為重要,MySQL作為最流行的關(guān)系型數(shù)據(jù)庫之一,提供了多種加密功能,允許用戶對(duì)數(shù)據(jù)進(jìn)行加密和解密操作,在這篇文章中,我們將深入探討MySQL的加密功能,并重點(diǎn)介紹如何使用MD5加密算法進(jìn)行加密,需要的朋友可以參考下2024-12-12
Mysql備份多個(gè)數(shù)據(jù)庫代碼實(shí)例
這篇文章主要介紹了Mysql備份多個(gè)數(shù)據(jù)庫代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-12-12

