title: How to get rows matching a condition using a hierarchical query
body: <p>Consider the following query from Oracle documentation <a href="https://docs.oracle.com/cd/B19306_01/server.102/b14200/queries003.htm" rel="nofollow noreferrer">https://docs.oracle.com/cd/B19306_01/server.102/b14200/queries003.htm</a></p>
  
  <pre><code>SELECT employee_id, last_name, manager_id
     FROM employees
     CONNECT BY PRIOR employee_id = manager_id;
  
  EMPLOYEE_ID LAST_NAME                        MANAGER_ID
  
      101     Kochhar                          100
      108     Greenberg                        101
      109     Faviet                           108
      110     Chen                             108
      111     Sciarra                          108
      112     Urman                            108
      113     Popp                             108
      200     Whalen                           101
  </code></pre>
  
  <p>I want to filter this tree to get employees only with a letter 'a' in a last name.
  I could use WHERE clause, but the thing is I don't want to get only the rows that do match condition, but also their parents event if they DON'T, i.e I don't want to break a tree. According documentation Oracle evaluates the condition for each row individually. For example if I use WHERE clause I get rows with ids 101, 109, 111, 112, 200. But I want to get 101, 108, 109, 111, 112, 200.
  How can I filter the tree without breaking it?</p>