添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

SQL 逻辑流

Select 语法

  1. Select语句的 From部分 将所有数据源 组装进一个结果集 ,然后由Select语句的剩余部分对结果集执行操作。
  2. Where子句作用于From组装的记录集,根据条件筛选某些行。
  3. 聚合函数对数据集执行求和操作。
  4. Group by 子句根据在该子句中指定的列将大量数据集分组成较小的数据集。
  5. Having 对较小的 数据组 执行聚合函数。
  6. Order by 子句确定结果子的排列顺序。默认为升序;
  7. 1
    2
    3
    4
    5
    6
    7
    8
    Select [Distinct] [Top(n)] *, columns, or expressions
    [From data source(s)]
    [Join data source
    ON condition] (may include multiple joins)
    [Where conditions]
    [Group by columns]
    [Having conditions]
    [Order by columns];

    查询语句的逻辑流

    数据源(From) —— 条件(Where) —— 列/表达式 (col/exp) —— Order by — 谓词

  8. From,查询 首先组装初始数据集

  9. Where,筛选;筛选过程实际上是 选择符合标准的行的where子句

  10. Group by,组合数据的子集 [若要分组, 先对数据排序 ,然后根据排序后的数据进行聚合]

  11. 聚合, Aggregations,选择性地对数据进行 聚合 ;如求平均值,按列中的值对数据分组以及筛选组;

  12. Having,筛选数据的子集

  13. 列表达式 :处理Select列,并计算任何表达式 [ 这个时候才涉及到列 ]

  14. Order by,排序

  15. Over,窗口函数和排名函数通过与其他聚合函数一起提供结果的 单独排序的视图

  16. Distinct,从结果集中删除任何重复的行

  17. Top, 选定行后 ,执行计算, 并按所需的顺序排序

  18. Insert,Update,Delete,最后一个逻辑步骤是将数据修改操作应用到查询结果。

  19. Output,选择插入和删除的虚拟表,并返回给客户端

  20. Union,堆叠或合并多个查询的结果

    SQL编写标准

    1. 若需要多个表合成一个表,必须确定 【唯一标识符】或者说是联接的表,从联接表中去寻找联接的字段