SELECT
[DISTINCT | DISTINCTROW | ALL]
имя_столбца,...
[FROM перечень_таблиц
[{INNER | {LEFT | RIGHT | FULL} OUTER | CROSS } JOIN имя_таблицы_2 ON <условия соединения таблиц>]
]
[WHERE перечень условий]
[GROUP BY {unsigned_integer | имя_столбца | формула} [ASC | DESC], ...]
[HAVING условия_группировки]
[ORDER BY {unsigned_integer | имя_столбца | формула} [ASC | DESC], ...]
[LIMIT {номер_первой_выводимой_строки, количество_выводимых_строк | количество_выводимых строк}]
Но выполняется оператор выборки совсем не в том порядке, в котором он написан. В общем виде запрос SELECT выполняется в следующем порядке: