Subquery evaluation order: is a non-correlated (regular) subquery evaluated first (inner to outer), effectively processing from the bottom up?

Difficulty: Easy

Correct Answer: Correct — regular subqueries are processed before the outer query

Explanation:


Introduction / Context:
Understanding evaluation order helps predict results and performance. In general, non-correlated subqueries are computed first and their result is then used by the outer query. Correlated subqueries may be re-evaluated per outer row.



Given Data / Assumptions:

  • “Regular” means non-correlated: the inner query does not reference columns from the outer.
  • Optimizers may rewrite queries while preserving semantics.
  • Logical evaluation order differs from physical execution plans, but the result is as if the inner were available first.



Concept / Approach:
For non-correlated subqueries, the DBMS can compute the inner result set once and reuse it, or transform the query (e.g., to a join). Either way, the semantics match “bottom-up” processing.



Step-by-Step Solution:
Identify a non-correlated subquery in SELECT, WHERE, or FROM.Recognize that its result does not depend on outer rows.DBMS evaluates or rewrites it so the outer query can reference the produced set/value.Therefore, the statement that regular subqueries are processed bottom-up is correct semantically.



Verification / Alternative check:
EXPLAIN plans often show subquery computation (or transformation to derived tables/joins) before outer operations.



Why Other Options Are Wrong:
Claiming subqueries are evaluated last contradicts typical semantics. GROUP BY presence or client software does not dictate logical order.



Common Pitfalls:
Assuming the same for correlated subqueries; those may run per outer row unless decorrelated by the optimizer.



Final Answer:
Correct — regular (non-correlated) subqueries are effectively processed bottom-up.

More Questions from Database Redesign

Discussion & Comments

No comments yet. Be the first to comment!
Join Discussion