次のデータを含む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;
GillとNancyの 2 つの行として結果が得られます。
しかし今、従業員のBenとJohn、Leninも出力に表示したいと思います。どちらもSamの下にあるマネージャーGillとNancyの下にあるためです。
マネージャーの従業員を階層的に表示するようにクエリを構成するにはどうすればよいですか? つまり、マネージャーSamの下にあるすべてのGill、Nancy、Ben、John、およびLeninを表示するにはどうすればよいでしょうか?