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,并返回

  • 相关阅读:
    404. Sum of Left Leaves
    400. Nth Digit
    42. Trapping Rain Water
    154. Find Minimum in Rotated Sorted Array II
    [USACO4.2]草地排水Drainage Ditches
    [NOIP2010提高组]关押罪犯
    [洛谷P1580]yyy loves Easter_Egg I
    [洛谷P1144]最短路计数
    [洛谷P1346]电车
    [codevs1243]网络提速
  • 原文地址:https://www.cnblogs.com/zhoutie170821/p/12134271.html
Copyright © 2011-2022 走看看