zoukankan      html  css  js  c++  java
  • Mysql DQL语言执行顺序

    Mysql DQL语言执行顺序:

    select 查询列表 ⑦
    from 表1 别名 ①
    连接类型 join 表2 ②
    on 连接条件 ③
    where 筛选 ④
    group by 分组列表 ⑤
    having 筛选 ⑥
    order by排序列表 ⑧
    limit 起始条目索引,条目数; ⑨

    1、from:首先对from子句中前两个表执行笛卡尔乘积,生成虚拟表1

    2、on:使用on筛选器,在虚拟表1中根据逻辑表达式筛选出满足条件的行行或多行,生成虚拟表2

    3、join:如果是join,则添加匹配的外部行;如果是left join就把左边第二步中未匹配的行添加进来,如果是right join就把右表在第二步中未匹配的行添加进来,生成虚拟表3.

    4、where:对虚拟表3执行where条件进行过滤,符合条件的生成虚拟表4

    5、group by:对虚拟表4进行分组操作生成虚拟表5

    6:having:在虚拟表5上继续执行having后的条件筛选,将满足条件的生成虚拟表6

    7:select:在虚拟表6上进行查询操作,生成虚拟表7

    8:order by:将虚拟表7按照order by后的条件进行排序升序或降序排列:desc,asc(默认asc降序)生成虚拟表8

    9:limit:在虚拟表8上取出指定的行的记录,生成虚拟表9,并返回

  • 相关阅读:
    低级格式化
    winhex恢复误GHOST系统造成的数据丢失
    共享进程空间内容(修的进程空间代码/HOOK)
    WinDbg 入门教程
    遍历删除当前目录下所有文件
    VC/MFC非模态对话框实例
    经典SQL语句
    C++实现系统服务暂停、停止、启动
    汇编中的管道操作方法
    Dll2lib探究
  • 原文地址:https://www.cnblogs.com/zhoutie170821/p/12134271.html
Copyright © 2011-2022 走看看