先执行from查询的数据源,如果查询中有连接条件(如 JOIN
),那么在 FROM
之后,数据库会评估 ON
子句中的连接条件。执行任何 JOIN
操作。接下来,WHERE
子句会被执行,用于过滤数据。只有满足 WHERE
条件的行会被返回或传递到后续的操作。如果查询中有 GROUP BY
子句,数据库会在此时进行分组操作。HAVING
子句用于对分组后的数据进行过滤。SELECT
子句用于选择要显示的列。
如果查询中使用了 DISTINCT
,它会在 SELECT
子句执行完毕之后去除重复的记录。ORDER BY
用于对结果进行排序。如果查询中使用了 LIMIT
或 OFFSET
,这会限制返回的记录数量或指定要跳过的行数。它通常是最后执行的部分。