sql查询部门下的所有子部门(mybatis用法)
select @pids := 6
6 为所要查询部门的id
select id,department_name
from (select t1.id,t1.department_name,if(find_in_set(parent_department_id, @pids) > 0,@pids := concat(@pids, ',', id),0) as ischildfrom (select id,parent_department_id,department_namefrom t_department torder by parent_department_id,id) t1,(select @pids := 6) t2) t3
where ischild != 0
mybatis应用
<select id="selectChildIdsByParentDepartmentId" resultMap="BaseResultMap">select <include refid="Base_Column_List"/>from (select <include refid="Base_Column_List"/>,CASEWHEN find_in_set(parent_department_id, @pids) > 0 THEN @pids := concat(@pids, ',', id)ELSE 0END as ischildfrom (select <include refid="Base_Column_List"/>from t_department torder by parent_department_id,id) t1,(select @pids := #{parentDepartmentId, jdbcType=BIGINT}) t2) t3where ischild != 0 AND is_deleted = 0</select>
作用: 不需要递归查询每个部门下的id,一次查出性能优化
sql查询部门下的所有子部门(mybatis用法)相关推荐
- sql查询教师表中比A部门最低工资高的所有老师
使用自连接 使用自连接,from teachera, teacherb:然后设置筛选条件(b.dept='A' and a.sqlary>b.salary) select * from teac ...
- SQL查询服务器下所有数据库,数据库的全部表
目录 获取所有用户名 获取所有用户数据库 获取库中所有的表名 获取某个表的字段名 获取所有用户名 SELECT * FROM sys.sysusers 获取所有用户数据库 SELECT * FROM ...
- 超赞,老外的一种避免递归查询所有子部门的树数据表设计与实现!
点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 每天 14:00 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java ...
- 第 17 章 Native SQL查询
第 17 章 Native SQL查询 你也可以使用你的数据库的Native SQL语言来查询数据.这对你在要使用数据库的某些特性的时候(比如说在查询提示或者Oracle中的 CONNECT关键字), ...
- Hibernate本地SQL查询SQLQuery
http://callan.iteye.com/blog/156127 使用SQLQuery 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQu ...
- MyBatis联合主键结果集与SQL查询结果不一致的问题
2019独角兽企业重金招聘Python工程师标准>>> 一.问题 如果select中的联合主键组合成的key不唯一(当只select部分联合主键时可能发生),那么就会把相同的key合 ...
- oracle突然查询变慢,[转] Oracle sql 查询突然变慢 -- 案例分析
一条sql突然执行变慢,耗时9秒,应用是不能改的,只能从数据库方面下手解决 步骤思路: 1:查看sql是否走索引 2:查看索引是否失效 3:hint 强制走索引(只是用来查看hint状态下,查询是否更 ...
- Mysql 查询部门下所有部门
话不多说,直接上SQL: select dept_id,dept_name from (selectt1.dept_id,t1.dept_name,if(find_in_set(parent_id, ...
- Sql server 获得某一部门下的所有子部门。根据子部门获得它的上级部门。
Sql server 获得某一部门下的所有子部门.根据部门获得它的上级部门.以为要用递归呢,原来不需要的,通过自定义函数里,使用个临时表就可以了.@@RowCount作用可真不小啊. 一.准备数据 - ...
最新文章
- 利用栈求表达式的值_高一数学月考考点之函数的表达式详解
- bzoj2154 Crash的数字表格
- Linux内核链表实现剖析
- 学术不端网查重靠谱吗_毕业论文查重把知网上的英文文章翻译成中文可以吗
- 【译】canvas笔触魔法师
- JeePlus左树右表之 表单【右表】自动获取列表【左树 】中的id
- webflux databuffer输出
- vscode remote ssh 重新连接_使用 VSCode 愉快地进行 R 远程开发
- 9.软件架构设计:大型网站技术架构与业务架构融合之道 --- 高可用与稳定性
- IT项目开发管理与绩效考核
- 极大似然估计和最大似然估计定义
- 跳房子(二维表上的搜索)
- sketch中制作蒙版及通道蒙版
- 上架一款APP,用户量高于1万的概率有多少?
- 2023年如何实习QQ强制拉人入群,QQ批量拉群,QQ强制拉群软件开发定制的思路解析
- 0x80073712_解决Windows 组件存储已损坏,0x80073712错误
- 威联通nas怎么更换大硬盘_扩充存储池:威联通NAS添加硬盘的扩容设置教程
- Linux 往事:一个不会像 GNU 那样大而专业的 OS 是如何成为主流的?
- 男人与女人的暧昧法则
- 腾讯云CentOS7 LAMP(linux的apache MariaDB php)yum方式部署