mysql中多个left join子查询写法以及别名用法

Posted L先生AI课堂

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql中多个left join子查询写法以及别名用法相关的知识,希望对你有一定的参考价值。

不多说 直接上语句  
SELECT
    a.id,
    a.thumbNail,
    a. NAME,
    a.marketPrice,
    a.memberPrice,
    a.personName,
    a. STATUS,
    a.recieveOrderDate,
    a.trackNumber,
    a.contact,
    a.reportSendDate,
    b.trackNumber,
    a.reportDownloadPath
FROM
    (
        SELECT
            od.id,
            ps.thumbNail,
            ps. NAME,
            od.marketPrice,
            od.memberPrice,
            od.personName,
            od. STATUS,
            od.recieveOrderDate,
            ol.trackNumber,
            ol.contact,
            od.reportSendDate,
            od.reportSendOrderLogisticId,
            od.reportDownloadPath
        FROM
            orders.order_detail od
        LEFT JOIN orders.order_logistics ol ON od.recieveOrderLogisticId = ol.id
        LEFT JOIN orders.product_snapshot ps ON od.productSnapShotId = ps.id
        WHERE
            od.valid = TRUE
        AND ol.valid = TRUE
        AND od.orderId =?
    ) a
LEFT JOIN (
    SELECT
        ol.trackNumber,
        od.id
    FROM
        orders.order_detail od
    LEFT JOIN orders.order_logistics ol ON od.reportSendOrderLogisticId = ol.id
    WHERE
        od.valid = TRUE
    AND ol.valid = TRUE
    AND od.orderId =?
) b ON a.id = b.id
 
 
ps:解释下 对于mysql中的语句,牵扯到左查询时  可以用left join关联  但一般对于不知道什么时候起别名 什么时候用括号的老铁们 真实头疼  所以发个模板 剩下的根据自己的业务具体实施。

以上是关于mysql中多个left join子查询写法以及别名用法的主要内容,如果未能解决你的问题,请参考以下文章

MySQL 的子查询和left join的比较,啥时候用子查询效率高,啥时候用left join效率高?

加入后 MySQL 限制 LEFT JOIN 子查询

MySql子查询(wherefromexists)及连接查询(left joinright joininner joinunion join)

MySql学习 —— 子查询(wherefromexists) 及 连接查询(left joinright joininner joinunion join)

mysql 优化慢复杂sql (多个left join 数量过大 order by 巨慢)

MySQL Left Join Subquery with *