针对于多个inner join或者left join多条件查询的时候,各个inner join 的指向问题

转自https://blog.csdn.net/ck457897564/article/details/52487684

先看一段代码吧:

<span style="font-size:18px;">SELECT * FROM
GOODS1 FR
LEFT JOIN GOODS2 MH ON MH.RETURN_NO = FR.ACT_APPL_COLUMN_1
INNER JOIN GOODS3 ML ON MH.HEADER_ID = ML.HEADER_ID
LEFT JOIN GOODS4 ss ON ss.lineId = MH.lineId </span>

第一个left join 只是针对 GOODS2 和GOODS1,而第二个inner join 是针对GOODS3 和GOODS3前面的所关联查询的结果,
第三个left join 针对的是GOODS4和GOODS4前面的所关联查询的结果,同理....

借用别人的一段写法:

INNER JOIN 连接两个数据表的用法:
SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号

INNER JOIN 连接三个数据表的用法:
SELECT * FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号

INNER JOIN 连接四个数据表的用法:
SELECT * FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) INNER JOIN 表4 ON Member.字段号=表4.字段号

原文地址:https://www.cnblogs.com/ksharpbury/p/9778719.html