广告
返回顶部
首页 > 资讯 > 数据库 >mysql语句执行顺序
  • 712
分享到

mysql语句执行顺序

mysql语句执行顺序 2018-12-02 18:12:02 712人浏览 猪猪侠
摘要

思考: 大家可以思考一下下面sql语句写的有没有问题? select jg.id as GoodsId,jm.name,... from jdy_merchant jm left outer join jdy_expr

mysql语句执行顺序

思考:

大家可以思考一下下面sql语句写的有没有问题?

select jg.id as GoodsId,jm.name,...
from jdy_merchant jm
left outer join jdy_express_template jet on jet.id = jg.freight
left outer join jdy_goods jg on jm.id = jg.store_id
where jg.id = 1

甭管有没有,运行一下见分晓:

 Unknown column "jg.freight" in "on clause"

嗯哼? 问题来了,表里明明有这个字段为什么还会找不到这一列呢?

这里就要说一下sql查询语句的执行顺序问题了:

分析:

sql查询语句中的执行顺序为:

from : 从哪个表查询数据 必须关键字

on : 关联条件

join : 关联表

where : 过滤条件

group by : 将过滤后的数据进行分组

having : 将分组后的数据再次进行过滤

select :查询的列

order by : 将最终的查询结果进行排序

最后将查询的结果进行返回

接下来分析下上面的语句:

执行from 关联的表,这里有三个表,jdy_merchant jm,jdy_express_template jet,jdy_goods jg 

这三张表是按on指定的条件将left join后面的表附加到前面表之后的,

第一张表肯定没有问题,到left outer join jdy_express_template jet on jet.id = jg.freight这一句的时候就出现问题了

大家看一下关联条件 jet.id = jg.freight ,这时候前面还没有jdy_goods jg这张表,所以引用jg.freight就报错了

怎么改呢:

把关联表颠倒一下顺序就可以了,像这样:

select jg.id as goodsId,jm.name
from jdy_merchant jm
left outer join jdy_goods jg on jm.id = jg.store_id
left outer join jdy_express_template jet on jet.id = jg.freight
where jg.id = 1

执行结果:

                                                                

                                                                   自己挖的坑哭着也要填完

 

    END !!!

  

您可能感兴趣的文档:

--结束END--

本文标题: mysql语句执行顺序

本文链接: https://www.lsjlt.com/news/5978.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • mysql语句执行顺序
    思考: 大家可以思考一下下面sql语句写的有没有问题? select jg.id as goodsId,jm.name,... from jdy_merchant jm left outer join jdy_expr...
    99+
    2018-12-02
    mysql语句执行顺序
  • mysql select语句的执行顺序
    这篇文章主要讲解了“mysql select语句的执行顺序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql select语句的执行顺序”吧...
    99+
    2022-10-18
  • 【MySQL系列】- SELECT语句执行顺序
    【MySQL系列】- SELECT语句执行顺序 文章目录 【MySQL系列】- SELECT语句执行顺序一、MYSQL逻辑查询处理的步骤图二、MYSQL执行顺序详解2.1 执行FROM操作2....
    99+
    2023-10-21
    mysql android 数据库
  • MySQL之select 语句的执行顺序
    mysql语句编写顺序 ① select 字段名 ② from 表1 inner|left|right join 表2 on 表1 与表2 的关系… ③ where ... ④ group by ... having ...
    99+
    2018-04-07
    MySQL之select 语句的执行顺序
  • SQL语句执行顺序
    sql语法的分析是从右到左 ...
    99+
    2022-10-18
  • MySQL语句执行顺序举例解析
    目录1、SQL数据举例my_user 表数据my_order数据测试数据生成2、SQL的执行顺序1、SQL数据举例 举例:有10个用户,输出在订单表中下单数最多的5个人的名字。 my...
    99+
    2022-11-13
  • MySQL语句执行顺序实例分析
    这篇文章主要讲解了“MySQL语句执行顺序实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL语句执行顺序实例分析”吧!1、SQL数据举例举例:有10个用户,输出在订单表中下单数...
    99+
    2023-06-30
  • ​mysql中语句执行顺序是什么
    这篇文章给大家分享的是有关mysql中语句执行顺序是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操...
    99+
    2022-10-18
  • MySQL语句执行顺序和编写顺序实例解析
    select语句完整语法: SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN &l...
    99+
    2022-05-14
    MySQL 语句 执行 编写 顺序
  • [转] Oracle sql语句执行顺序
    sql语法的分析是从右到左 一、sql语句的执行步骤: 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。 2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。 3)视图转换,将涉及视图的查询语句...
    99+
    2015-06-02
    [转] Oracle sql语句执行顺序 数据库入门 数据库基础教程
  • switch语句执行顺序是什么
    switch语句执行顺序是按照case标签的顺序进行判断,从上到下逐个比较。当找到与表达式匹配的case标签时,会执行该case标签...
    99+
    2023-09-16
    switch
  • 关于SQL语句的执行顺序
    首先,要清楚在一select语句中都会用到哪些关键字: -----------select  -----------from -----------join -----------where -----------gr...
    99+
    2017-11-03
    关于SQL语句的执行顺序
  • 简单了解mysql语句书写和执行顺序
    mysql语句的书写顺序和执行顺序有很大差异。 书写顺序,mysql的一般书写顺写为: select <要返回的数据列> from <表名> <join, left joi...
    99+
    2022-05-14
    mysql 语句 执行 顺序
  • mysql查询语句join、on、where的执行顺序
    目录一、典型SELECT语句完整的执行顺序二、from三、on四、on 条件与where 条件1、使用位置2、使用对象3、选择与使用五、join 流程mysql 的执行顺序 一、典型SELECT...
    99+
    2022-11-19
    mysql查询语句执行顺序 mysql join mysql on mysql where
  • Mysql系列SQL查询语句书写顺序及执行顺序详解
    目录1、一个完整SQL查询语句的书写顺序2、一个完整的SQL语句执行顺序3、关于select和having执行顺序谁前谁后的说明1、一个完整SQL查询语句的书写顺...
    99+
    2022-11-12
  • sql语句执行顺序是怎样的
    这篇文章主要介绍了sql语句执行顺序是怎样的,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。sql语句执行顺序:1、最先执行from tab;...
    99+
    2022-10-18
  • mysql语句书写和执行顺序的示例分析
    小编给大家分享一下mysql语句书写和执行顺序的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql语句的书写顺序和...
    99+
    2022-10-18
  • 讨论Oracle 中sql语句的执行顺序
    查询语句的执行顺序:select ename as name from scott.emp emp where emp.job=' CLERK' order by name;sele...
    99+
    2022-10-18
  • SQL查询语句的执行顺序解析
    SQL语句执行顺序 结合上图,整理出如下伪SQL查询语句。 从这个顺序中我们可以发现,所有的查询语句都是从 FROM 开始执行的。在实际执行过程中,每个步骤都会为下一个步骤生成一个虚拟表,这个虚拟表将作为下一个执行步骤的输入。...
    99+
    2021-04-08
    SQL查询语句的执行顺序解析
  • MySql的执行顺序
    mysql执行顺序如下: from 阶段 where 阶段 group by 阶段 having 阶段 select 阶段 order by 阶段 limit 阶段 按照以上书写顺序,完整的执行顺...
    99+
    2023-08-31
    mysql 数据库 java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作