3 ms·
My point is that a better explanation of the execution ordering is: FROM, JOIN, WHERE, SELECT, GROUP BY, HAVING, DISTINCT, UNION, ORDER BY, LIMIT. The author
by jcampbell1 13y ago
My point is that a better explanation of the execution ordering is:
FROM, JOIN, WHERE, SELECT, GROUP BY, HAVING, DISTINCT, UNION, ORDER BY, LIMIT.
The author has SELECT after the GROUP BY and HAVING, which doesn't make sense because GROUP BY is aware of expressions in the SELECT statement. Grouping and filtering happens after selection.
- lukaseder 13y ago(I had to correct myself) SELECT is evaluated after GROUP BY, at least in most databases that implement SQL correctly. SQL Server's documentation nicely explains this: http://technet.microsoft.com/en-us/library/ms189499.aspx http://technet.microsoft.com/en-us/library/ms189499.aspx Skip to "Logical Processing Order of the SELECT statement". MySQL, PostgreSQL, and SQLite behave differently, though!