Das ist die Reihenfolge ...
[WITH [RECURSIVE] ctename AS (cte1, … )] /* since MySQL 8.022, MariaDB 10.2.2 */
SELECT [STRAIGHT_JOIN]
[SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
[SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY]
[DISTINCT | DISTINCTROW | ALL] /* SQL_CALC_FOUND_ROWS deprecated 8.0.17 */
select_expression [[AS] alias],...
[FROM dual | table_ref [PARTITION(partition_names)] [[AS] table_alias], ...
[WHERE search_definition]
[GROUP BY {col_number | col_name | formula} [ASC | DESC], ... [WITH ROLLUP]]
[HAVING group_definition]
[ORDER BY {column_number | column_name | formula} [ASC | DESC] ,...]
[LIMIT [offset,] rows | LIMIT # OFFSET # ]
[PROCEDURE procedure_name]
[INTO {OUTFILE | DUMPFILE} 'file_name' export_options] | list_of_variables
[FOR UPDATE | LOCK IN SHARE MODE | FOR SHARE]
[UNION ...]
Und sehen
https://dev.mysql.com/doc/refman/8.0/en/select.html