Это похоже на стандартный стол Скотта EMP (если вы с ним знакомы).Примерно так:
- Столбец ID_EMP является общим для всех лиц
- ID_MGR показывает, кто является менеджером этого человека
SQL> create table person
2 (id_emp number constraint pk_pers primary key,
3 fname varchar2(20),
4 lname varchar2(20),
5 id_mgr number constraint fk_mgr_emp references person (id_emp)
6 );
Table created.
SQL> insert into person (id_emp, fname, lname, id_mgr)
2 select 1, 'Little' , 'Foot' , null from dual union
3 select 2, 'Charles', 'Leclerc' , 1 from dual union
4 select 3, 'Rio' , 'Haryanto', 1 from dual union
5 select 4, 'Seb' , 'Vettel' , 2 from dual union
6 select 5, 'Romain' , 'Grosjean', 2 from dual;
5 rows created.
Иерархическое представление:
SQL> select lpad(' ', 2 * level) || lname employee
2 from person
3 start with id_mgr is null
4 connect by prior id_emp = id_mgr;
EMPLOYEE
-------------------------------------------------------------------------------
Foot
Leclerc
Vettel
Grosjean
Haryanto
SQL>