mysql语句执行顺序是什么样的_mysql语言集功能

mysql语句执行顺序是什么样的_mysql语言集功能量的积累终会引起质的飞跃

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

代码100分

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

代码100分 Unknown column "jg.freight" in "on clause"

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

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

分析:

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

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

on : 关联条件

join : 关联表

where : 过滤条件

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

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

select :查询的列

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

代码100分最后将查询的结果进行返回

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

执行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

执行结果:

mysql语句执行顺序是什么样的_mysql语言集功能

                                                                mysql语句执行顺序是什么样的_mysql语言集功能

                                                                   自己挖的坑哭着也要填完

 

    END !!!

  

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8543.html

(0)
上一篇 2023-02-26
下一篇 2023-02-26

相关推荐

  • 40Mn18Cr3热锻环[通俗易懂]

    40Mn18Cr3热锻环[通俗易懂]无磁钢40Mn18Cr3和50Mn18Cr5经常作为电机配件进行热锻、模锻、温锻工艺的。 作为电机护环,对材料性能都有较高的要求,特别是护环的屈服。《135 85↘ 上海高高,十几年经营无磁钢下来。…

    2023-03-19
    152
  • mysql group by 日期_MySQL的配置

    mysql group by 日期_MySQL的配置本文来自 codeday ,作者 codeday 我正在尝试从表中获取日志数据.我选择时间跨度的地方(“ maandag”到“ vrijdag”).这样可以得到我想要的结果,但是现在我得到的问题是每…

    2023-02-25
    150
  • Python工程师必知必会——Numpyany基础知识

    Python工程师必知必会——Numpyany基础知识Python是一种功能丰富而又简单易用的编程语言,已经成为数据科学和机器学习领域的主要语言。在数据科学领域中,NumPy是Python中最重要的工具之一。NumPy是一个Python包,提供了高性能数值运算功能和支持大型多维数组和矩阵的数据结构。它支持很多数学操作,例如线性代数、傅里叶变换、随机数生成等等。

    2024-04-29
    108
  • mysql5.5的几个新参数「终于解决」

    mysql5.5的几个新参数「终于解决」
    mysql5.5的几个新参数 分类: Mysql/postgreSQL 2013-01-04 12:04:14 新参数项 旧参数 参数说明 innodb_r…

    2023-04-07
    147
  • MySQL中时间函数NOW()和SYSDATE()的区别[亲测有效]

    MySQL中时间函数NOW()和SYSDATE()的区别[亲测有效]mysql中日期函数还是比较常用的。 主要是NOW()和SYSDATE(),但是两者还是有区别的, NOW()取的是语句开始执行的时间,SYSDATE()取的是动态的实时时间。 执行下列语句: se…

    2023-02-21
    153
  • 如何通过命令行运行Python文件

    如何通过命令行运行Python文件命令行(Command Line Interface,CLI)也称作控制台界面,是一种用户界面模式,在其中用户与操作系统或程序进行交互。用户通过给操作系统发送指令,让操作系统执行相应的操作。命令行通常使用文本输入方式,以命令和参数的形式执行操作。

    2024-01-25
    100
  • 优化数值计算:Python实现正弦函数的快速计算

    优化数值计算:Python实现正弦函数的快速计算在数值计算领域中,正弦函数是非常常见的一个函数,无论从理论研究还是实际应用中都具有重要意义。正弦函数的计算是一项基本任务,如何快速、准确地计算正弦函数一直是计算机领域的一大挑战。Python作为一门高级编程语言,在数学计算和科学计算方面具有广泛的应用和良好的性能表现。因此使用Python实现正弦函数的快速计算将会非常的有意义。

    2024-03-17
    86
  • 【Oracle Database】数据库完整备份与日志备份

    【Oracle Database】数据库完整备份与日志备份
    [oracle@wallet01 ~]$ cat /home/oracle/script/full_backup.sh #!/bin/bash if [ -…

    2023-04-06
    145

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注