CREATE TABLE FOO ( id NUMBER NOT NULL ,name VARCHAR2(20) ,parent NUMBER ); INSERT INTO FOO VALUES (1, 'First', NULL); INSERT INTO FOO VALUES (2, 'Second 1', 1); INSERT INTO FOO VALUES (3, 'Second 2', 1); INSERT INTO FOO VALUES (4, 'Third', 2); -- This is a formatting command COLUMN id a40; SELECT parent ,name ,LPAD(' ', 6*(Level - 1)) || id AS id FROM foo START WITH id = 1 CONNECT BY parent = PRIOR id;