我有一张employee
桌子,上面有以下数据。对于特定的经理,我想按照经理的层次结构获取所有员工的列表。
id name manager
1 John 6
2 Gill 7
3 Ben 2
4 Roy 8
5 Lenin 6
6 Nancy 7
7 Sam 0
8 Dolly 3
例如,我必须让经理Sam (7) 手下的员工。如您所见,Sam没有任何经理,但他是员工Gill和Nancy的经理,他们分别是员工Ben和John, Lenin的经理。
所以我运行了这样的查询:
select * from employee where manager=7;
我得到的结果为 2 行,Gill和Nancy。
但是现在,我还想在输出中显示员工Ben和John,Lenin,因为他们都在经理Gill和Nancy的领导下,他们在Sam的领导下。
如何构建查询以分层显示经理的员工?换句话说,我怎样才能显示经理Sam领导下的所有Gill、Nancy、Ben、John和Lenin?