SQL语句执行顺序

SQL语句执行顺序

  1. FROM:确定数据源,包括所有涉及的表。
  2. JOIN和ON:处理表的连接及连接条件。
  3. WHERE:筛选行。
  4. GROUP BY:分组数据。
  5. HAVING:筛选分组后的结果。
  6. SELECT:选择需要的列。
  7. DISTINCT:去除重复行。
  8. ORDER BY:排序结果。
  9. LIMIT/OFFSET:限制返回的行数。

distinct和order执行顺序,先去重,在排序当DISTINCT和ORDER BY一起使用时,需要注意以下几点:
1.排序基于去重后的结果
ORDER BY总是对DISTINCT去重后的结果集进行排序。因此,如果你只对部分列使用DISTINCT,那么排序也将基于这些去重后的列。

2.ORDER BY和distinct的列可以不同
列可以是DISTINCT未包含的列:虽然DISTINCT仅对选定的列进行去重,但ORDER BY可以包含未在DISTINCT中指定的列。然而,这样做可能会导致排序结果不如预期,因为排序是基于整个结果集(在DISTINCT去重之后)中的列值,而不是原始数据集中的列值。

posted @ 2025-02-26 10:48  测试三思  阅读(14)  评论(0)    收藏  举报