两个mysql查询的区别

时间:2019-07-25 10:05:22

标签: mysql join subquery

我有两个如下查询。 第一个返回757数据 第二个返回545个数据

在这里,我不知道两个查询之间的区别在哪里。 我使用第一个优化查询执行时间

MDDR / MDDRJS

还有一个

 SELECT supul.user_point_log_used_id, supul.point
                FROM user_point_used_logs supul
                    left join user_point_logs supl
                    on supul.user_point_log_id=supl.return_id
                    and supl.return_id is null

FIDDLE LINK

1 个答案:

答案 0 :(得分:2)

使用where supl.return_id is null

您的第二个查询充当inner join -由于您在第一个查询中将supl.return_id is null in ON clauseleft join一起使用,因此它会为您提供第一个表的所有结果 -这就是为什么结果不同的原因

SELECT supul.user_point_log_used_id, supul.point
                FROM user_point_used_logs supul
                    left join user_point_logs supl
                    on supul.user_point_log_id=supl.return_id
                    where supl.return_id is null
相关问题