Question:
In what order are the clauses executed when resolving an SQL SELECT statement?
Does a DBMS first examine the FROM clause to create an intermediate result, or does it follow some other strategy?
How are the GROUP BY, HAVING, and ORDER BY clauses evaluated?
Answer:
The order of execution depends on the vendor, but your take on it is correct from a theoretical perspective.
Optimizers don’t actually go through this process to produce cross products. There’s no relationship between the WHERE clause and the SELECT list, because we can filter by columns we aren’t looking at.