mysql如何设计员工表_mysql 表结构怎么设计可以很快的查出一个部门下所有子部门的员工【包含本部门】...

mysql 表结构如何设计可以很快的查出一个部门下所有子部门的员工【包含本部门】

假如一个A部门 下面有3个员工;有3个子部门 A1 A2 A3 ;A1、A2、A3下面又有员工和子部门;

求一条sql查出A下面所有的员工【包含子部门下的所有员工】

数据库如何设计呢?最好用一条sql,并且要求效率

------------------------------------------------------------------------------------------------------------------

问题补充:

gteam.yu 写道

其实表可以很简单的设计成

员工编号 员工姓名 部门编号 部门名称

但是你的部门编号必须遵循一定的规则,比如A部门 编号是01 那么A1的编号就应该相应的定为0101,下面的子部门以此类推。

现在就简单,你要查询A部门下的所有员工就是

select employeeName,DeptName

from xxxx

where DeptID like "01%"

如果你要查询A1部门下的所有员工就是

select employeeName,DeptName

from xxxx

where DeptID like "0101%"

以前我做一个网站时就这么设计,效果也不错。

首先谢谢您的回答。其实我们现在也是用的这种办法。但有一个问题:like是用不到索引的

虽然你上面的like只写了一个% 用到了索引。但实际业务中有很多地方都需要两个%%的。

------解决方案----

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值