• SQL执行顺序


    1.From and JOIN

    首先我们进行查询的时候,肯定是先获得一份数据集的,From语句和JOIN被先执行的,就是为了获得数据集的。

    2.WHERE

    一旦数据集给拿到了,WHERE限制条件会被用到某些行上,并把不满足的行给抛弃掉。并且,这能够用到各种数据类型中

    3.GROUP BY

    WHERE条件限定之后,接下来就是GROUP BY语句了,这一语句会根据某一字段进行分组,并对各个组进行求聚合。现在我们再来想想刚刚提到的代码错在哪里了呢

    想想看,我们先进行的是FROM,紧接着是WHERE,然后才是GROUP BY。所以上面的语句就是错在了WHERE 语句在执行的时候,GROUP BY语句还没有开始,那时聚合值sum(area)还是未知的。那正确的写法呢?还请接着往下看。

    4.HAVING

    having语句在SQL中的主要作用与Where语句作用是相同的,但是having是过滤聚合值,其实上面的正确写法是这样的

    5.SELECT

    在经过上面的执行之后,终于到了select语句,但是别慌,下面还有呢。

    6.DISTINCT

    对于剩下的行,Distinct用来去除重复行,只保留唯一的。

    7.ORDER BY

    此语句用来对select后的结果,进行排序,升序或者是降序。

    8.LIMIT/OFFSET

    用来限定返回的行数

    总结:

    执行顺序

    语句

    功能

    1

    from

    获取基础数据

    2

    where

    过滤基础数据

    3

    group by

    聚合基础数据

    4

    having

    过滤聚合后的数据

    5

    select

    返回最终的数据

    6

    distinct

    去重最终的数据

    7

    order by

    排序最终的数据

    8

    limit/offset

    限定最终数据的返回行

  • 相关阅读:
    TongJI Online Judge预赛(3): Game
    堆栈小应用:配对
    在.net中使用Udp协议创建简单的聊天程序
    TongJI Online Judge预赛(2): LOVE LETTER
    全排列问题之递归求解
    如何打造RSS阅读器
    Html 常用标志总结
    实现页面的分帧显示
    每天OnlineJudge之 “数素数”
    文本编辑器中,如何设计 撤销/重复栈
  • 原文地址:https://www.cnblogs.com/liuyuanq/p/11302076.html
Copyright © 2020-2023  润新知