zoukankan      html  css  js  c++  java
  • SQL 执行顺序

        SQL 是一种声明式语言,与其他语言相比它的最大特点是执行顺序-并非按照语法顺序来执行。因此很多程序猿看到SQL就头疼,我之前也是这样,后来看到一篇文章后豁然开朗-地址

        理解了SQL的执行顺序无疑对我们学习SQL有很大的帮助。标准的SQL的解析顺序为:

    FROM(组装来自不同数据源的数据)->WHERE(对数据源进行指定条件的筛选)->GROUP BY(对数据源进行分组)->聚合函数进行计算->HAVING(对分组结果进行筛选)->计算所有表达式->ORDER BY(对结果进行排序);每个步骤都会产生一个虚拟表,该虚拟表用于下一个步骤的输入。

        下面一个比较复杂的SQL语法表示,通过它来进一步理解SQL的执行顺序 。SQL关键字前面的数字大小表示顺序,由先到后。

    (08)SELECT 
    (09)DISTINCT 
    (11)<Top num> <column name>
    (01)FROM [Left_table]
    (03)<join_type> JOIN [Right_Table]
    (02)ON join_condition>
    (04)WHERE <where_condition>
    (05)GROUP BY <group_by_list>
    (06)WITH <CUBE |ROLLUP>
    (07)HAVING <having_condition>
    (10)ORDER BY <order_by_column_list>
    上面的sql语句执行顺序如下:

    ]CEA$5JE5I2O~D(}2P0WO$5

    image

      最后,希望对大家有帮助。ps:好久没写博客了,怪自己太懒了,自己要坚持下去

      请关注我的github:https://github.com/khadron

  • 相关阅读:
    DapperExtensions 使用教程
    C#事件订阅及触发例子
    01、类与结构的区别
    内网信息搜集
    Anydesk拿下远程桌面
    C++对注册表的操作
    Linux下常见流编辑器的使用
    Typecho1.1反序列化漏洞复现
    Nmap脚本编写
    Github学习
  • 原文地址:https://www.cnblogs.com/Khadron/p/5333066.html
Copyright © 2011-2022 走看看