Mysql:左连接错误的子查询结果集vs子查询结果

Mysql:左连接错误的子查询结果集vs子查询结果,mysql,Mysql,我编写了一个查询,以获得具有限制的结果,然后查询的结果将左连接到其他表。 如果只查询子查询,则得到正确的结果 SELECT LE.* FROM legder_expenses LE WHERE LE.created_by = 437 ORDER BY LE.id DESC LIMIT 0,30 结果 但当使用上面的查询作为子查询,并将它们左键连接到其他可能有数据或没有数据的表时 SELECT Legder.id, L

我编写了一个查询,以获得具有限制的结果,然后查询的结果将左连接到其他表。 如果只查询子查询,则得到正确的结果

SELECT 
    LE.*
FROM
    legder_expenses LE      
WHERE
    LE.created_by = 437
ORDER BY 
    LE.id DESC
LIMIT 
    0,30
结果

但当使用上面的查询作为子查询,并将它们左键连接到其他可能有数据或没有数据的表时

SELECT 
    Legder.id,
    Legder.created
FROM
    (
        SELECT 
            LE.*
        FROM
            legder_expenses LE      
        WHERE
            LE.created_by = 437
        ORDER BY 
            LE.id DESC
        LIMIT 
            0,30
    ) Legder
    LEFT JOIN legder_voucher_types LegderVoucherType ON LegderVoucherType.id = Legder.legder_voucher_type_id
    LEFT JOIN legder_types LegderType ON LegderType.id = Legder.legder_type_id
    LEFT JOIN legder_expense_details LegderDetail ON LegderDetail.legder_expense_id = Legder.id
    LEFT JOIN legder_expense_images LegderImage ON LegderImage.legder_expense_id = Legder.id
结果


我不知道为什么这些查询会给出不同的结果,即使我使用左连接

我只是在查询结束时添加order by,现在一切正常

SELECT 
    Legder.id,
    Legder.created
FROM
    (
        SELECT 
            LE.*
        FROM
            legder_expenses LE      
        WHERE
            LE.created_by = 437
        ORDER BY 
            LE.id DESC
        LIMIT 
            0,30
    ) Legder
    LEFT JOIN legder_voucher_types LegderVoucherType ON LegderVoucherType.id = Legder.legder_voucher_type_id
    LEFT JOIN legder_types LegderType ON LegderType.id = Legder.legder_type_id
    LEFT JOIN legder_expense_details LegderDetail ON LegderDetail.legder_expense_id = Legder.id
    LEFT JOIN legder_expense_images LegderImage ON LegderImage.legder_expense_id = Legder.id
ORDER BY
    Legder.id DESC

您的结果#1仅显示22行30行,因此很难理解结果#2中标记的日期值是否存在。草莓你能解释更多吗,我无法从linkHi Akina那里理解,我的问题只是第一次记录,not count of records I无法在创建的顶部获取最新记录='2020-02-12'在连接表时,您没有选择任何列