MySQL 查询 执行顺序
MySQL查询的执行顺序大致如下:
-
FROM子句:确定要查询的表。
-
ON:对JOIN语句中的表进行关联条件指定。
-
JOIN:如果有的话,对表进行关联。
-
WHERE:对记录进行过滤。
-
GROUP BY:根据指定的列分组记录。
-
HAVING:对分组后的结果进行过滤。
-
SELECT:选取特定的列。
-
DISTINCT:去除重复数据。
-
ORDER BY:对结果进行排序。
-
LIMIT:限制返回的记录数。
SELECT DISTINCT employee.name
FROM department
JOIN employee ON department.id = employee.department_id
WHERE department.name = 'Sales'
AND employee.salary > 50000
GROUP BY employee.name
HAVING COUNT(*) > 2
ORDER BY employee.name DESC
LIMIT 10;