位置: 编程技术 - 正文
推荐整理分享SQL执行步骤的具体分析(最全的sql执行顺序),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:最全的sql执行顺序,sql如何执行,sql的执行过程,最全的sql执行顺序,数据库sql执行过程,sql的执行流程,最全的sql执行顺序,sql语句的执行流程,内容如对您有帮助,希望把文章链接给更多的朋友!
SQL执行步骤的具体分析
先来看执行语句的顺序
接着我们看一下具体分析查询处理的各个阶段:
FROM 对from子句中的左表和右表执行笛卡尔集,产生虚拟表VT1 ON 对虚拟表VT1进行on筛选,只有那些符合join condition的行才被插入虚拟表VT2中 JOIN 如果指定了outer join,那么保留表中未匹配的行作为外部行添加到虚拟表VT2中,产生虚拟表VT3。如果from子句包含两个以上的表,则对上一个连接生成的结果表中VT3和下一个表重复执行步骤1~步骤3,直到处理完所有的表为止。 WHERE 对虚拟表VT3进行where过滤条件,只有符合条件的才被插入到虚拟表VT4中。 GROUP BY 根据group by子句中的列,对VT4中的记录进行分组操作,产生VT5. CUBE|ROLL UP 对表VT5进行CUBE或者ROLLUP操作,产生表VT6. HAVING 对虚拟表VT6应用having过滤器,只有符合条件的记录才会被插入到虚拟表VT7中 SELECT 第二次执行select操作,选择指定的列,插入到虚拟表VT8中。 DISTINCT 去除重复数据,产生虚拟表VT9。 ORDER BY 将虚拟表VT9中的记录按照指定的要求进行排序操作,产生虚拟表VT LIMIT 取出指定行的记录,产生虚拟表VT,并返回给查询用户如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
初探SQL语句复合主键与联合主键 一、复合主键所谓的复合主键就是指你表的主键含有一个以上的字段组成,不使用无业务含义的自增id作为主键。比如createtabletest(namevarchar(),idnumber,valuev
MySQL两种临时表的用法详解 外部临时表通过CREATETEMPORARYTABLE创建的临时表,这种临时表称为外部临时表。这种临时表只对当前用户可见,当前会话结束的时候,该临时表会自动关闭
mysql创建删除表的实例详解 表的创建命令需要:表的名称字段名称定义每个字段(类型、长度等)语法下面是通用的SQL语法用来创建MySQL表:CREATETABLEtable_name(column_namecolumn_type);现在,
标签: 最全的sql执行顺序
本文链接地址:https://www.jiuchutong.com/biancheng/348349.html 转载请保留说明!友情链接: 武汉网站建设