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 @   测试三思  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示