千家信息网

sql中语句执行的优先级顺序是什么

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章给大家分享的是有关sql中语句执行的优先级顺序是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SQL语句的执行顺序MySQL的语句一共分为11步,如下图所标注的
千家信息网最后更新 2026年11月01日sql中语句执行的优先级顺序是什么

这篇文章给大家分享的是有关sql中语句执行的优先级顺序是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

SQL语句的执行顺序

MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操作,最后执行的是LIMIT操作。其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只是这些虚拟的表对用户来说是透明的,但是只有最后一个虚拟的表才会被作为结果返回。如果没有在语句中指定某一个子句,那么将会跳过相应的步骤。

下面我们来具体分析一下查询处理的每一个阶段

FORM: 对FROM的左边的表和右边的表计算笛卡尔积。产生虚表VT1

ON: 对虚表VT1进行ON筛选,只有那些符合的行才会被记录在虚表VT2中。

JOIN: 如果指定了OUTER JOIN(比如left join、 right join),那么保留表中未匹配的行就会作为外部行添加到虚拟表VT2中,产生虚拟表VT3, rug from子句中包含两个以上的表的话,那么就会对上一个join连接产生的结果VT3和下一个表重复执行步骤1~3这三个步骤,一直到处理完所有的表为止

WHERE: 对虚拟表VT3进行WHERE条件过滤。只有符合的记录才会被插入到虚拟表VT4中。

GROUP BY: 根据group by子句中的列,对VT4中的记录进行分组操作,产生VT5.

CUBE | ROLLUP: 对表VT5进行cube或者rollup操作,产生表VT6.

HAVING: 对虚拟表VT6应用having过滤,只有符合的记录才会被 插入到虚拟表VT7中。

SELECT: 执行select操作,选择指定的列,插入到虚拟表VT8中。

DISTINCT: 对VT8中的记录进行去重。产生虚拟表VT9.

ORDER BY: 将虚拟表VT9中的记录按照进行排序操作,产生虚拟表VT10.

LIMIT:取出指定行的记录,产生虚拟表VT11, 并将结果返回。

写的顺序:select ... from... where.... group by... having... order by.. limit [offset,]

(rows)

执行顺序:from... where...group by... having.... select ... order by... limit

感谢各位的阅读!关于"sql中语句执行的优先级顺序是什么"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

语句 顺序 只有 子句 步骤 结果 处理 优先级 内容 更多 篇文章 不错 实用 三个 两个 中指 只是 右边 文章 最先 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南云网互联网络科技有限公司 湖南永感互联网科技有限公司 互联网科技巨头监管 科技互联网项目 盈实互联网科技 互联网与新科技 壹账通互联网科技 互联网 视角下的科技创新 天下捷融互联网科技 佩信高科技互联网 江苏南京365互联网科技 崇明区互联网教育科技诚信经营 西安小鹰速贷互联网科技有限公司 互联网在线教育科技创业 广州百诚互联网科技有限公司官网 互联网科技快讯热点 宁波跨境商互联网科技有限公司 抖集互联网科技技术咨询 上海万顺科技互联网有限公司招聘 互联网企业和网络科技有限公司 互联网金融科技 撒么互联网科技公司 随着互联网科技发展 中化能源互联网科技招聘 武汉健翔互联网络科技有限公司 成都互联网科技公司工作好不好 乌鲁木齐新华智原互联网科技学校 中国互联网公司排名锤子科技 唯美互联网科技 承德科技产业互联网平台
0