Knowing the bits and bytes of an SQL query's order of operations
can be very valuable, as it can ease the process of writing new
queries, while also being very beneficial when trying to optimize
an SQL query.
If you're looking for the short version, this is the logical
order of operations, also known as the order of execution, for an
SQL query:
- FROM, including JOINs
- WHERE
- GROUP BY
- HAVING
- WINDOW functions
- SELECT
- DISTINCT
- UNION
- ORDER BY
- LIMIT and OFFSET
But the reality isn't that easy nor straight forward. As we said,
the SQL standard defines the order of execution for the different
SQL query clauses. Said that, modern databases are already
challanaging that default order by applying some optimization
tricks which might change the actual order of execution, though
they must end up returning …
[Read more]