【问题标题】:SQL nested queries execution orderSQL 嵌套查询执行顺序
【发布时间】:2013-12-17 12:55:44
【问题描述】:

以下查询是针对 oracle 的 HR schema 完成的。我想逐步了解首先执行哪条指令,最重要的是,首先评估哪个SELECT 语句。

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:我知道这个查询可能无效,但这不是重点。我想知道的是指令的执行顺序。

【问题讨论】:

    标签: sql oracle execution


    【解决方案1】:

    请检查查询的解释计划,它将详细说明 oracle 如何执行查询。

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

    请参阅http://www.dwbiconcepts.com/database/22-database-oracle/26-oracle-query-plan-a-10-minutes-guide.html了解详细说明计划。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-17
      • 1970-01-01
      • 2020-06-11
      相关资源
      最近更新 更多