SQL Statement with a Select Statement Inside a Where Clause Is there a more efficient way to write the following PLSQL statement? It seems inefficient to me to have the SQL statement nested inside the where clause.

SELECT REQ_ID
FROM REQUESTS R
WHERE P_REQ_ID IS NULL AND 
      EXISTS (
        SELECT *
        FROM REQUESTS
        WHERE P_REQ_ID = R.REQ_ID
        )
Here is what I ended up with:

Select Distinct rParent.REQ_ID
From REQUESTS rParent
Inner Join REQUESTS rChild On rChild.P_REQ_ID = rParent.REQ_ID
Where rParent.P_REQ_ID IS NULL