Teo
Teo

Reputation: 3442

SQL nested queries execution order

The following query is done for oracle's HR schema. I would like to know step by step which instruction gets executed first and most of all, which SELECT statement is evaluated first.

SELECT name, salary, dept_id
FROM employee
WHERE salary > 
    ( SELECT AVG(salary) FROM employee
       WHERE dept_no =
                  (SELECT dept_no FROM employee 
                    WHERE last_name =
                        ( SELECT last_name FROM employee
                          WHERE salary > 50000))) ;

PS: I know that this query may not be valid, but that's not the point. What I would like to know is the order in which the instructions would be executed.

Upvotes: 0

Views: 804

Answers (1)

thiyaga
thiyaga

Reputation: 251

Please check the explain plan of the query it will give the details as to how oracle executes the query.

explain plan for <sql query>
select * from table(dbms_xplan.display);

Refer to http://www.dwbiconcepts.com/database/22-database-oracle/26-oracle-query-plan-a-10-minutes-guide.html for more details on explain plan.

Upvotes: 1

Related Questions