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用法)相关推荐

  1. sql查询教师表中比A部门最低工资高的所有老师

    使用自连接 使用自连接,from teachera, teacherb:然后设置筛选条件(b.dept='A' and a.sqlary>b.salary) select * from teac ...

  2. SQL查询服务器下所有数据库,数据库的全部表

    目录 获取所有用户名 获取所有用户数据库 获取库中所有的表名 获取某个表的字段名 获取所有用户名 SELECT * FROM sys.sysusers 获取所有用户数据库 SELECT * FROM ...

  3. 超赞,老外的一种避免递归查询所有子部门的树数据表设计与实现!

    点击上方"Java基基",选择"设为星标" 做积极的人,而不是积极废人! 每天 14:00 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | Java ...

  4. 第 17 章 Native SQL查询

    第 17 章 Native SQL查询 你也可以使用你的数据库的Native SQL语言来查询数据.这对你在要使用数据库的某些特性的时候(比如说在查询提示或者Oracle中的 CONNECT关键字), ...

  5. Hibernate本地SQL查询SQLQuery

    http://callan.iteye.com/blog/156127 使用SQLQuery 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQu ...

  6. MyBatis联合主键结果集与SQL查询结果不一致的问题

    2019独角兽企业重金招聘Python工程师标准>>> 一.问题 如果select中的联合主键组合成的key不唯一(当只select部分联合主键时可能发生),那么就会把相同的key合 ...

  7. oracle突然查询变慢,[转] Oracle sql 查询突然变慢 -- 案例分析

    一条sql突然执行变慢,耗时9秒,应用是不能改的,只能从数据库方面下手解决 步骤思路: 1:查看sql是否走索引 2:查看索引是否失效 3:hint 强制走索引(只是用来查看hint状态下,查询是否更 ...

  8. Mysql 查询部门下所有部门

    话不多说,直接上SQL: select dept_id,dept_name from (selectt1.dept_id,t1.dept_name,if(find_in_set(parent_id, ...

  9. Sql server 获得某一部门下的所有子部门。根据子部门获得它的上级部门。

    Sql server 获得某一部门下的所有子部门.根据部门获得它的上级部门.以为要用递归呢,原来不需要的,通过自定义函数里,使用个临时表就可以了.@@RowCount作用可真不小啊. 一.准备数据 - ...

最新文章

  1. 利用栈求表达式的值_高一数学月考考点之函数的表达式详解
  2. bzoj2154 Crash的数字表格
  3. Linux内核链表实现剖析
  4. 学术不端网查重靠谱吗_毕业论文查重把知网上的英文文章翻译成中文可以吗
  5. 【译】canvas笔触魔法师
  6. JeePlus左树右表之 表单【右表】自动获取列表【左树 】中的id
  7. webflux databuffer输出
  8. vscode remote ssh 重新连接_使用 VSCode 愉快地进行 R 远程开发
  9. 9.软件架构设计:大型网站技术架构与业务架构融合之道 --- 高可用与稳定性
  10. IT项目开发管理与绩效考核
  11. 极大似然估计和最大似然估计定义
  12. 跳房子(二维表上的搜索)
  13. sketch中制作蒙版及通道蒙版
  14. 上架一款APP,用户量高于1万的概率有多少?
  15. 2023年如何实习QQ强制拉人入群,QQ批量拉群,QQ强制拉群软件开发定制的思路解析
  16. 0x80073712_解决Windows 组件存储已损坏,0x80073712错误
  17. 威联通nas怎么更换大硬盘_扩充存储池:威联通NAS添加硬盘的扩容设置教程
  18. Linux 往事:一个不会像 GNU 那样大而专业的 OS 是如何成为主流的?
  19. 男人与女人的暧昧法则
  20. 腾讯云CentOS7 LAMP(linux的apache MariaDB php)yum方式部署

热门文章

  1. Jdk8新特性一:jdk8新特性之default关键字、日期类、Base64类、Optional
  2. openfire服务器的配置
  3. 为什么说买彩票是交智商税?
  4. K8S 配置 storageclass 使用 nfs 动态申领本地磁盘空间
  5. 关于BLAS的简单介绍
  6. android 白天模式/夜间模式切换
  7. SurfaceView、SurfaceHolder与Surface
  8. eclipse学习(第三章:ssh中的Hibernate)——7.Hibernate使用注释开发
  9. 网络表示初学习--节点嵌入 node embedding
  10. updatepanel