You must do this using the subselect (and DISTINCT ) to find all 4 children:
Select Distinct * From hierarchy Start With id In ( Select id From hierarchy Where parent = 4 ) Connect By id = Prior parent
Using UNION , you can at least remove CONNECT BY from your second query:
Select * From hierarchy Start With id = 4 Connect By id = Prior parent Union Select * From hierarchy Where parent = 4
Never use SELECT * , always name the columns that you really need. This makes it easy to read and optimize your query.
source share