Order of Execution
Logical Order of Query Processing in SQL
Section titled “Logical Order of Query Processing in SQL”/*(8)*/ SELECT /*9*/ DISTINCT /*11*/ TOP/*(1)*/ FROM/*(3)*/ JOIN/*(2)*/ ON/*(4)*/ WHERE/*(5)*/ GROUP BY/*(6)*/ WITH {CUBE | ROLLUP}/*(7)*/ HAVING/*(10)*/ ORDER BY/*(11)*/ LIMITThe order in which a query is processed and description of each section.
VT stands for ‘Virtual Table’ and shows how various data is produced as the query is processed
FROM: A Cartesian product (cross join) is performed between the first two tables in the FROM clause, and as a result, virtual table VT1 is generated.
OUTER (join): If an OUTER JOIN is specified (as opposed to a CROSS JOIN or an INNER JOIN), rows from the preserved table or tables for which a match was not found are added to the rows from VT2 as outer rows, generating VT3. If more than two tables appear in the FROM clause, steps 1 through 3 are applied repeatedly between the result of the last join and the next table in the FROM clause until all tables are processed.