How to create a cascading query finding parent/child rows from table I hoping someone can help with what seems like a simple query, but seems to be harder than I anticipated.
I'm looking to find the parent rows for the child row based on the corresponding ID. 

TABLE1
------------------------------
ID  LEVEL   VALUE   PARENTID
------------------------------
1   COUNTRY UK      NULL
2   COUNTRY FRA     NULL
3   CITY    LONDON  1
4   CITY    PARIS   2
5   RIVER   SEINE   4
6   RIVER   THAMES  3


.

SELECT VALUE FROM TABLE1 WHERE VALUE = 'THAMES'
...ID = PARENTID
...ETC
;


So for example with the above table I can pass in 'THAMES' and it will find the parent and parent's parent and so on, until it gets to a NULL value. for example:

THAMES
LONDON
UK


Thanks in advance.
with table1 as 
(
  select 1 as id, 'COUNTRY' as lvl, 'UK' as value, null as parentid from dual union all
  select 2 as id, 'COUNTRY' as lvl, 'FRA' as value, null as parentid from dual union all
  select 3 as id, 'CITY' as lvl, 'LONDON' as value, 1 as parentid from dual union all
  select 4 as id, 'CITY' as lvl, 'PARIS' as value, 2 as parentid from dual union all
  select 5 as id, 'RIVER' as lvl, 'SEINE' as value, 4 as parentid from dual union all
  select 6 as id, 'RIVER' as lvl, 'THAMES' as value, 3 as parentid from dual
)
select value from table1
connect by id = prior parentid
start with value = 'THAMES';

VALUE 
------
THAMES
LONDON
UK